public static int Search(Listy list, int value)
        {
            int index = 1;

            while (list.elementAt(index) != -1 && list.elementAt(index) < value)
            {
                index *= 2;
            }
            return(BinarySearch(list, value, index / 2, index));
        }
        public static int BinarySearch(Listy list, int value, int low, int high)
        {
            int mid;

            while (low <= high)
            {
                mid = (low + high) / 2;
                int middle = list.elementAt(mid);
                if (middle > value || middle == -1)
                {
                    high = mid - 1;
                }
                else if (middle < value)
                {
                    low = mid + 1;
                }
                else
                {
                    return(mid);
                }
            }
            return(-1);
        }