def fibonacci(n):
    a = [0, 1]
    total = 0
    i = 0
    while i < n + 1:
        total = int(a[i]) + int(a[i + 1])
        a.append(total)
        i = i + 1
    return a[n]


def index(str, letter):
    i = 0
    while str[i] != letter and i < len(str) - 1:
        i = i + 1
    if i + 1 == len(str):
        return '-1'
    else:
        return i

Iteratively search for the position of letter in str, return -1 if it is not there.


Iteratively compute the value of the fibonacci series at position n.


def search(str, letter):
    if len(str) == 0:
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)

assert search('','0')==False and search('0','0')==True and search('ERFE0Rfsef','0')==True and search('ERFERfsef0','0')==True and search('','a')==False and search('cbzeycuzbvyzuvb','a')==False and search('cbsducsvdbcyts','c')==True and search('dbzeducvbzy','y')==True and search('xqvsgxcutvy','u')==True

Recursively search for a letter in a string


def fibonacci(n):
    i = 0
    a = [0, 1]
    if n == 0:
        return a[len(a)]
    else:
        total = 0
        total = int(a[i]) + int(a[i + 1])
        a.append(total)
        i = i + 1
        fibonacci(n - 1)

assert fibonacci(0)==0 and fibonacci(1)==1 and fibonacci(2)==1 and fibonacci(10)==55 and fibonacci(23)==28657

Recursively compute the value of the fibonacci series at position n.


def index(str, letter):
    if len(str) == 0:
        return -1
    elif str[len(str)] == letter:
        print(int(len(str)))
    else:
        return index(str[:len(str)], letter)

Recursively search for the position of letter in str, return -1 if it is not there.


def index(str, letter, pos):
    if len(str) == 0:
        return -1
    elif str[pos] == letter:
        print(pos)
    else:
        return index(str, letter, pos + 1)


def index(str, letter, pos):
    if len(str) == 0:
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def index(str, letter, pos):
    if len(str) - 1 == pos:
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def fibonacci(n):
    a = [0, 1]
    if n == len(a) - 1:
        return a[n]
    elif n != len(a) - 1:
        a.append(int(a[len(a) - 1] + a[len(a) - 2]))
    else:
        return fibonacci(n)


def fibonacci(n):
    if n == len(a) - 1:
        return a[n]
    elif n != len(a) - 1:
        a.append(int(a[len(a) - 1] + a[len(a) - 2]))
    else:
        return fibonacci(n)


def fibonacci(n):
    if n == len(a):
        return a[n]
    elif n != len(a) - 1:
        a.append(int(a[len(a) - 1] + a[len(a) - 2]))
    else:
        return fibonacci(n)


def fibonacci(n):
    if n == len(a):
        return a[n]
    elif n != len(a):
        a.append(int(a[len(a) - 1] + a[len(a) - 2]))
    else:
        return fibonacci(n)


def fibonacci(n):
    a = [0, 1]
    if n == len(a):
        return a[n]
    elif n != len(a):
        a.append(int(a[len(a) - 1] + a[len(a) - 2]))
    else:
        return fibonacci(n)


def search(string, letter):
    if string == []:
        return False
    elif string[0] == letter:
        return True
    else:
        return search(string[1:], letter)


def search(string, letter, pos):
    if pos == len(string):
        return False
    elif string[pos] == letter:
        return True
    else:
        return search(string, letter, pos + 1)


def search(ls, val):
    if ls == []:
        return False
    elif ls[0] == val:
        return True
    else:
        return search(ls[1:], val)


def search(ls, val):
    if ls == []:
        return False
    elif ls[0] == val:
        return True
    else:
        return search(ls[0:], val)


def search(str, letter):
    if letter in str:
        return True
    else:
        return False

Iteratively search for a letter in a string


def index(str, letter):
    i = 0
    while i < len(str) and str[i] != letter:
        i = i + 1
    if i < len(str):
        return i
    else:
        return '-1'


def fibonacci(n):
    a, b = 0, 1
    while b < n:
        a, b = b, a + b
        return b


def fibonacci(n):
    a, b = 0, 1
    while b < 10:
        a, b = b, a + b
        return b


def fibonacci(n):
    a = 0
    b = 1
    while b < n:
        prev_a = a
        a = b
        b = prev_a + b
    return a


def fibonacci(n):
    a = 0
    b = 1
    while b < n:
        prev_a = a
        a = b
        b = prev_a + b
    return b


def fibonacci(n):
    a = 0
    b = 1
    while b <= n:
        prev_a = a
        a = b
        b = prev_a + b
    return a


def fibonacci(n):
    a = 0
    b = 1
    while b <= n:
        prev_a = a
        a = b
        b = prev_a + b
    return b


def fibonacci(n):
    a = 1
    b = 1
    while b <= n:
        prev_a = a
        a = b
        b = prev_a + b
    return a


def fibonacci(n):
    a = 0
    b = 1
    while b > 0:
        prev_a = a
        a = b
        b = prev_a + b
        n -= 1
    return a


def fibonacci(n):
    a = 0
    b = 1
    while n > 0:
        prev_a = a
        a = b
        b = prev_a + b
        n -= 1
    return a


def search(str, letter):
    if str == []:
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def search(str, letter):
    if str[-1] != a:
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def search(str, letter):
    if str[-1] != letter:
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def index(str, letter):
    if str[0] == letter:
        return 0
    else:
        return 1 + index(str[1:], letter)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str[1:], letter, pos + 1)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return 1
    else:
        return index(str[1:], letter, pos + 1)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return 0
    else:
        return 1 + index(str[1:], letter, pos)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return 0
    else:
        return index(str[1:], letter, pos + 1)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return 0
    else:
        return index(str, letter, pos + 1)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def fibonacci(n):
    if n == 1 or n == 2:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i = i + 1
    return '-1'


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return True
        i = i + 1
    return False


def fibonacci(n):
    a = 0
    b = 0
    while n > 0:
        prev_a = a
        a = b
        b = prev_a + b
        n -= 1
    return a


def index(str, letter):
    i = 0
    while i < len(str) and str[i] != letter:
        i = i + 1
    if i < len(str):
        return i
    else:
        return '-1'


def fibonacci(n):
    a = 0
    b = 1
    while n > 0:
        prev_a = a
        a = b
        b = prev_a + b
        n -= 1
    return a


def fibonacci(n):
    firN = 0
    secN = 1
    while n > 0:
        prev_N = firN
        firN = secN
        secN = prev_N + secN
        n -= 1
    return firN


def search(str, letter):
    if str == []:
        return False
    elif lstr[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def search(str, letter):
    if str == []:
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def search(str, letter):
    if len(str) == 0:
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def append2list(l1, l2=None):
    if l2 is None:
        l2 = []
    for i in l1:
        l2.append(i)
    return l2

Appends elements of a list l1 at the end of the list l2. If l2 not supplied default to empty list.


Test if two circles overlap.


def search(str, letter):
    if letter in str:
        return True
    else:
        return False


def merge_lists(l1, l2):
    i = 0
    while i < len(l2):
        l1.append(l2[i])
        i = i + 1
    i = 0
    while i < len(l1):
        if i % 2 == 1 and i != 0:
            l1.remove(l1[i])
        i = i + 1
    return l1

Take two lists l1 and l2 and return a third list which contains every second element of l1 and l2.


def weird_case(some_str):
    A = ' '
    a = []
    line = some_str.strip('\n').split(A)
    i = 0
    while i < len(line):
        word = line[i]
        x = 0
        while x < len(word):
            a.append(word[x])
            x = x + 1
        a.append(A)
        i = i + 1
    del a[len(a) - 1]
    x = -1
    i = 0
    while i < len(a):
        if a[i] != A:
            x = x + 1
        if x == 0 or x % 2 == 0:
            a[i] = str(a[i].upper())
        i = i + 1
    return ''.join(a)

assert weird_case('au0x6')==Au0X6 and weird_case('F:BnJ')==F:bNj

Takes a string some_str and contains a new string which is the same as some_str but the case alternates between upper and lower.


def remove_zeros(a):
    b = []
    i = 0
    while i < len(a):
        if int(a[i]) == 0:
            a.remove(a[i])
            i = i - 1
        i = i + 1

assert remove_zeros([])==None and remove_zeros([])==None and remove_zeros([5202, -24344, -6528])==None and remove_zeros([5202, -24344, -6528])==None

Take a list of numbers and removes the zeros from it.


def index(str, letter):
    if letter in str:
        i = 0
        while i < len(str):
            if letter == str[i]:
                return i
            i = i + 1
    else:
        return '-1'


def search(str, letter):
    if letter in str:
        print('True')
    else:
        print('False')


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def index(str, letter):
    pos_letter = 1
    i = 0
    while i < len(str):
        if letter in str:
            pos_letter = i + 1
            i = i + 1
            return pos_letter
    else:
        return '-1'


def search(string, letter):
    if string == []:
        return 'False'
    elif string[0] == letter:
        return 'True'
    else:
        search(string[1:], letter)


def fibonacci(n):
    n1 = 0
    n2 = 1
    count = 0
    while count < n:
        if n == 0:
            print(n1)
        elif n == 1:
            print(n2)
        else:
            print(n1)
            print(n2)


def index(string, letter):
    position = 0
    if string == []:
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        index(string[1:], letter)


def index(string, letter):
    position = 0
    if string == []:
        print('-1')
    elif string[0] == letter:
        print(position)
    else:
        position += 1
        index(string[1:], letter)


def search(string, letter):
    if string == []:
        print('False')
    elif string[0] == letter:
        print('True')
    else:
        search(string[1:], letter)


def index(string, letter):
    position = 0
    if string == []:
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        return index(string[1:], letter)


def search(string, letter):
    if string == []:
        return 'False'
    elif string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)


def index(string, letter):
    position = 0
    if string == ' ':
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        return index(string[1:], letter)


def search(string, letter):
    if string == ' ':
        return 'False'
    elif string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)


def index(string, letter):
    position = 0
    if string == '':
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        return index(string[1:], letter)


def search(string, letter):
    if string == '':
        return 'False'
    elif string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)


def index(string, letter, position=0):
    if string == '':
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        return index(string[1:], letter)


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return pos_letter


def index(string, letter, position):
    if string == '':
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        return index(string[1:], letter)


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def index(string, letter, position):
    if string == '':
        return '-1'
    elif string[0] == letter:
        return position
    else:
        position += 1
        return index(string[1:], letter, position)


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
        return letter_pos


def fibonacci(n):
    time = 0
    if n <= 1:
        return n
    else:
        return fibonnaci(n - 1) + fibonacci(n - 2)


def fibonacci(n):
    time = 0
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos
    return '-1'


def index(str, letter):
    if letter not in str:
        return '-1'


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos
    if letter not in str:
        return '-1'


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos
    print('-1')


def index(str, letter):
    i = str[0]
    letter_pos = 1
    if letter in str:
        letter_pos = i + 1
        return letter_pos
    else:
        print('-1')


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        return letter_pos
    i = i + 1


def fibonacci(n):
    if n == 0 or n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def fibonacci(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        else:
            return '-1'
        i = i + 1
    return letter_pos


def search(string, letter):
    if letter in string:
        return 'True'
    else:
        return 'False'


def fibonacci(n):
    fib = [0, 1]
    i = 2
    while i < n + 1:
        tmp = int(fib[i - 2]) + int(fib[i - 1])
        fib.append(tmp)
        i = i + 1
    return fib[n]


def index(string, letter):
    if letter in string:
        i = 0
        while i < len(string):
            if letter == string[i]:
                return i
            i = i + 1
    else:
        return '-1'


def index(str, letter):
    i = str[0]
    letter_pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def search(ls, val):
    if val in ls:
        return True
    else:
        return False


def fibonacci(n):
    fib = [0, 1]
    i = 2
    while i < n + 1:
        tmp = int(fib[i - 2]) + int(fib[i - 1])
        fib.append(tmp)
        i += 1
    return fib[n]


def index(string, letter):
    if letter in string:
        i = 0
        while i < len(string):
            if letter == string[i]:
                return i
            i += 1
    else:
        return '-1'


def index(string, letter):
    pos = -1
    i = 0
    while i < len(string):
        if string[i] == letter:
            pos = i
        i = i + 1
    return pos


def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n - 2) + fibonacci(n - 1)


def index(str, letter):
    if letter in str:
        return 1
    else:
        return -1


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(string, letter, pos=0):
    if string == '':
        return '-1'
    elif string[0] == letter:
        return pos
    else:
        pos += 1
        return index(string[1:], letter, pos=pos)


def search(string, letter):
    if string == '':
        return False
    elif string[0] == letter:
        return True
    else:
        return search(string[1:], letter)


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n == 2:
        return 1
    else:
        return fibonacci(n - 2) + fibonacci(n - 1)


def search(ls, val):
    i = 0
    while i < len(ls):
        if ls[i] == val:
            return True
        i = i + 1
    return False


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i = i + 1
    return '-1'


def index(str, letter):
    if letter in str:
        return str
    else:
        return -1


def index(str, letter):
    if letter in str:
        return letter
    else:
        return -1


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return True
        i = i + 1
    return False


def index(str, letter):
    i = 0
    while i < len(str):
        index = letter.index('str')
        if str[i] == letter:
            return index
        else:
            return '-1'
        i = i + 1


def index(str, letter):
    i = 0
    while i < len(str):
        if letter in str[i]:
            return i
        i = i + 1
    else:
        return '-1'


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def fibonacci(num):
    l = [0]
    i = 0
    while num >= len(l):
        if len(l) > 1:
            num2 = l[i] + l[i - 1]
        else:
            num2 = l[i] + 1
        l.append(num2)
        i = i + 1
    return l[-1]


def index(str, letter):
    i = 0
    while i < len(str):
        if letter in str[i]:
            return str[i]
        else:
            return '-1'


def fibonacci(n):
    first = 0
    second = 0
    while 0 < n:
        last = first
        first = second
        second = last + second
        n = n - 1
    return first


def fibonacci(n):
    first = 0
    second = 1
    while 0 < n:
        last = first
        first = second
        second = last + second
        n = n - 1
    return first


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        else:
            return '-1'


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    if letter in str:
        return 1
    else:
        return -1


def index(str, letter, i):
    if i == len(str):
        return -1
    elif str[i] == letter:
        return i
    else:
        return index(str, letter, i + 1)


def search(ls, val):
    if ls == []:
        return False
    elif ls[0] == val:
        return True
    else:
        return search(ls[1:], val)


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def search(ls, val):
    if ls == '':
        return False
    elif ls[0] == val:
        return True
    else:
        return search(ls[1:], val)


def index(string, letter, rv):
    if string == []:
        return -1
    elif string[0] == letter:
        return rv
    else:
        rv = rv + 1
        return index(sring[1:], letter, rv)


def fibonacci(n):
    if n == 1 or n == 2:
        return 1
    return fibonacci(n - 1) + fibonacci(n - 2)


def index(string, letter, rv):
    if string == []:
        return -1
    elif string[0] == letter:
        return rv
    else:
        rv = rv + 1
        return index(string[1:], letter, rv)


def index(str, letter, pos):
    if str[pos] == letter:
        return str[pos]
    elif str[pos] != letter:
        return '-1'
    else:
        return index(str, letter, pos + 1)


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return True
        i = i + 1
    return False


def fibonacci(n):
    if n == 1 or n == 2:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)


def search(ls, val):
    if ls == []:
        return 'False'
    elif ls[0] == val:
        return 'True'
    else:
        return search(ls[1:], val)


def search(ls, val):
    if ls == '':
        return 'False'
    elif ls[0] == val:
        return 'True'
    else:
        return search(ls[1:], val)


def index(string, letter, rv):
    if string == '':
        return -1
    elif string[0] == letter:
        return rv
    else:
        rv = rv + 1
        return index(string[1:], letter, rv)


def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def fibonacci(n):
    fib = [0, 1]
    i = 2
    while i < n + 1:
        tmp = int(fib[i - 2]) + int(fib[i - 1])
        fib.append(tmp)
        i = i + 1
    return fib[n]


def search(string, letter):
    if letter in string:
        return 'True'
    if letter not in string:
        return 'False'


def index(string, letter):
    if letter in string:
        i = 0
        while i < len(string):
            if letter == string[i]:
                return i
            i = i + 1
    else:
        return '-1'


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i = i + 1
    return '-1'


def fibonacci(n):
    firN = 0
    secN = 1
    while n > 0:
        prev_N = firN
        firN = secN
        sec_N = prev_N + secN
        n -= 1
    return firN


def search(s, l, i=0):
    A = False
    if i < len(s):
        if s[i] == l:
            contains = True
            return contains
        else:
            contains = A
            return search(s, l, i + 1)
    else:
        return A


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1 or n == 2:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(s, l, i=0):
    if i < len(s):
        if s[i] == l:
            contains = i
            return contains
        else:
            contains = -1
            return index(s, l, i + 1)
    else:
        return -1


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def fibonacci(n):
    values = [0, 1]
    i = 2
    while i <= n:
        terms.append(values[i - 1] + values[i - 2])
        i = i + 1
    return values[n]


def search(str, letter):
    if letter not in str:
        return 'False'
    else:
        return 'True'


def index(str, letter):
    if letter not in str:
        return -1
    else:
        count = 0
        while str[count] != letter:
            count += 1
    return count


def fibonacci(n):
    values = [0, 1]
    i = 2
    while i <= n:
        values.append(values[i - 1] + values[i - 2])
        i = i + 1
    return values[n]


def index(str, letter, default=0):
    while default == 0:
        if letter not in str:
            return -1
        else:
            count = 0
            while str[count] != letter:
                count += 1
    return count


def index(str, letter, default=0):
    if default == 0:
        if letter not in str:
            return -1
        else:
            count = 0
            while str[count] != letter:
                count += 1
    return count


def search(str, letter):
    i = 0
    while i < len(str):
        if letter in str:
            return True
        else:
            return False
        i = i + 1


def fibonacci(n):
    list = [0]
    i = 0
    while n < len(list):
        if len(list) > 1:
            new = list[i] + list[i - 1]
        else:
            new = list[i] + 1
        list.append(new)
        i = i + 1
    return list[-1]


def index(string, letter):
    i = 0
    a = []
    while i < len(string):
        if string == letter:
            return i
        i = i + 1
    if letter not in a:
        return '-1'


def search(string, letter):
    if letter not in string:
        return 'False'
    else:
        return 'True'


def index(str, letter):
    if letter in str:
        print(1)


def index(string, letter):
    i = 0
    a = []
    while i < len(string):
        a.append(string[i])
        if string[i] == letter:
            return i
        i = i + 1
    if letter not in a:
        return '-1'


def fibonacci(n):
    list = [0]
    i = 0
    while n >= len(list):
        if len(list) > 1:
            new = list[i] + list[i - 1]
        else:
            new = list[i] + 1
        list.append(new)
        i = i + 1
    return list[-1]


def fibonacci(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i = i + 1
    return -1


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def index(str, letter, i):
    if letter in str[i]:
        return i
    else:
        return '-1'


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n > 1:
        return fibonacci(n - 1) + fibonacci(n - 2)
    else:
        return -1


def index(str, letter, i):
    if letter in str[i]:
        return i
    else:
        return '1'


def index(str, letter):
    if letter in str:
        return 1
    else:
        return -1


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    pos = 0
    if pos == len(str):
        return '-1'
    elif str[pos] == letter:
        return True
    else:
        return index(str, letter, pos + 1)


def index(str, letter):
    pos = 0
    if pos == len(str):
        return '-1'
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def fibonacci(n):
    a, b = 0, 1
    for num in range(n):
        a, b = b, a + b
        return a


def index(str, letter):
    position = 0
    if position == len(str):
        return '-1'
    elif str[position] == letter:
        return pos
    else:
        return index(str, letter, position + 1)


def index(str, letter, position):
    if position == len(str):
        return '-1'
    elif str[position] == letter:
        return pos
    else:
        return index(str, letter, position + 1)


def index(str, letter, position):
    if position == len(str):
        return '-1'
    elif str[position] == letter:
        return position
    else:
        return index(str, letter, position + 1)


def index(str, letter, i):
    if letter in str[i]:
        return i
    else:
        return -1


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i += 1
    return '-1'


def search(string, letter):
    if letter not in string:
        return 'False'
    else:
        return 'True'


def index(string, letter):
    i = 0
    a = []
    while i < len(string):
        a.append(string[i])


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        return 'False'
        return search(string[1:], letter)


def fibonacci(n):
    if n == 0:
        return 0
    else:
        return fibonacci(n - 2) + fibonacci(n - 1)


def search(str, letter):
    i = 0
    while i < len(str):
        if letter in str:
            return True
        else:
            return False
        i = i + 1


def index(str, letter):
    if letter in str:
        return str.find(letter)
    else:
        return -1


def index(str, letter):
    if letter in str:
        return 1
    else:
        return -1


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 2) + fibonacci(n - 1)


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i += 1
    return False


def index(str, letter):
    if letter not in str:
        return -1
    else:
        count = 0
        while str[count] != letter:
            count += 1
    return count


def fibonacci(n):
    values = [0, 1]
    i = 2
    while i <= n:
        values.append(values[i - 1] + values[i - 2])
        i = i + 1
    return values[n]


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)
    return 'False'


def index(string, letter):
    i = 0
    a = []
    while i < len(string):
        a.append(string[i])
        if string[i] == letter:
            return i
        i = i + 1
    if letter not in a:
        return '-1'


def fibonacci(n):
    list = [0]
    i = 0
    while n >= len(list):
        if len(list) > 1:
            new = list[i] + list[i - 1]
        else:
            new = list[i] + 1
        list.append(new)
        i = i + 1
    return list[-1]


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a


def fibonacci(n):
    if n <= 1:
        return n
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n > 1:
        return fibonacci(n - 1) + fibonacci(n - 2)
    else:
        return -1


def index(str, letter, position):
    if position == len(str):
        return '-1'
    elif str[position] == letter:
        return position
    else:
        return index(str, letter, position + 1)


def index(str, letter, occurence):
    if occurence == len(str):
        return -1
    elif str[occurence] == letter:
        return occurence
    else:
        return index(str, letter, occurence + 1)


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def index(string, letter):
    a = []
    while i < len(string):
        a.append(string[i])
        if string[i] == letter:
            return i
    if letter not in a:
        return '-1'


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)
    if letter not in string:
        return 'False'


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)
    if letter not in string:
        print('False')


def search(str, letter):
    i = 0
    while i < len(str):
        if letter in str:
            return True
        else:
            return False
        i = i + 1


def index(str, recursive, letter):
    if letter in str:
        return 1
    else:
        return -1


def search(string, letter):
    if letter not in string:
        return 'False'
    else:
        return 'True'


def index(str, letter):
    if letter in str:
        return 1
    else:
        return -1


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        print('False')
        return search(string[1:], letter)


def index(str, letter):
    if letter in str:
        return str.find(letter)
    else:
        return -1


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)
        print('False')


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter1, letter2):
    i = 0
    while i < len(str):
        if str[i] == letter1:
            return i
        i += 1
    return '-1'


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'
    i = 0
    while i < len(str):
        if str[i] == letter2:
            return i
        i += 1
    return '-1'


def search(string, letter):
    if string[0] == letter:
        return 'True'
    else:
        return search(string[1:], letter)
    print('False')


def fibonacci(n):
    if n <= 1:
        return n
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 2) + fibonacci(n - 1)


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a


def index(str, letter):
    i = 0
    while i < len(str):
        position = 0
        if letter in str:
            position += 1
            return position
        else:
            return '-1'


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n > 1:
        number = 0
        first_num = 1
        second_num = 2
        for n in range(3, n):
            number = first_num * second_num
            first_num = second_num
            second_num = number
        return number
    else:
        return -1


def index(str, recursive, letter):
    if letter in str:
        return 1
    elif letter in str:
        return -1
    elif recursive in str:
        return 1
    else:
        return -1


def merge_lists(l1, l2):
    l3 = []
    i = 0
    while i < len(l1):
        l3.append(l1[i])
        i = i + 1
    i = 0
    while i < len(l2):
        l3.append(l2[i])
        i = i + 1
    return l3[::2]


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def index(str, letter, pos):
    if pos == len(str):
        return 'False'
    elif str[pos] == letter:
        return 'True'
    else:
        return search(str, letter, pos + 1)

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'

def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    if pos == len(str):
        return 'False'
    elif str[pos] == letter:
        return 'True'
    else:
        return search(str, letter, pos + 1)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def fibonacci(x):
    if x <= 1:
        return x
    else:
        return fibonacci(x - 1) + fibonacci(x - 2)


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i = i + 1
    return '-1'


def index(str, letter):
    if letter not in str:
        return -1
    else:
        return str.find(letter)


def search(str, letter):
    i = 0
    while i < len(str):
        if letter in str:
            return True
        else:
            return False
        i += 1


def fibonacci(n):
    if n < 2:
        return n
    return febonacci(n - 2) + fibonacci(n - 1)


def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n - 2) + fibonacci(n - 1)


def weird_case(some_str):
    print(some_str.split())


def merge_lists(l1, l2):
    l3 = l1[::2] + l2[::2]
    return l3


def weird_case(some_str):
    return some_str.split()


def weird_case(some_str):
    str = some_str.split()
    return str[0]


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word.upper()
    print(caps_first)


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word.upper()
    return caps_first


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word % 2 == 0
    return caps_first


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = str(first_word % 2 == 0)
    return caps_first


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = int(first_word % 2 == 0)
    return caps_first


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2]
    return caps_first


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.append[c]
    return c


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    c.append(caps_first)
    return c


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    c.append(caps_first)
    c.append(first_word)
    return c


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    c.append(caps_first)
    c.append(first_word)
    return c.split(',')


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    c.append(caps_first)
    c.append(first_word)
    c = c.split(',')
    return c


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    if caps_first in first_word:
        del first_word
        return first_word


def weird_case(some_str):
    c = []
    b = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split()
    c.append(caps_first)
    first_wprd.split()
    b.append(first_word)
    return b


def weird_case(some_str):
    c = []
    b = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split()
    c.append(caps_first)
    first_word.split()
    b.append(first_word)
    return b


def merge_lists(l1, l2):
    l3 = l1[::2] + l2[::2]
    return l3


def weird_case(some_str):
    c = []
    b = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(' ')
    c.append(caps_first)
    first_word.split(' ')
    b.append(first_word)
    return b


def weird_case(some_str):
    c = []
    b = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(' ')
    first_word.split(' ')
    i = 0
    while i < len(caps_first):
        if caps_first[i] in first_word:
            del caps_first[i]
        else:
            i = i + 1
    return caps_first


def weird_case(some_str):
    c = []
    b = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(' ')
    first_word.split(' ')
    i = 0
    while i < len(caps_first):
        if caps_first[i] in first_word:
            del first_word[i]
        else:
            i = i + 1
    return caps_first


def weird_case(some_str):
    c = []
    b = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(' ')
    first_word.split(' ')
    return caps_first


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(' ')
    first_word.split(' ')
    if caps_first == first_word.upper():
        del first_word
        return first_word


def weird_case(some_str):
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(',')
    first_word.split(',')
    for caps_first in first_word:
        caps_first.append(caps_first.remove())
        return caps_first


def weird_case(some_str):
    c = []
    str = some_str.split()
    first_word = str[0]
    caps_first = first_word[::2].upper()
    caps_first.split(',')
    c.append(caps_first)
    first_word.split(',')
    for caps_first in first_word:
        c.append(caps_first.remove())
        return c


Test if two circles overlap.


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def index(str, letter):
    if letter in str:
        return str.find(letter)
    elif letter not in str:
        return '-1'
    else:
        return index(str[1:], letter)


def search(ls, val, na=0):
    pos = len(ls)
    if pos == len(ls):
        return False
    elif ls[pos] == val:
        return True
    else:
        return search(ls, val, pos + 1)

def index(ls, val, pos):
    if pos == len(ls):
        return False
    elif ls[pos] == val:
        return True
    else:
        return search(ls, val, pos + 1)


def search(ls, val, na=0):
    pos = len(ls)
    if pos == len(ls):
        return False
    elif ls[pos] == val:
        return True
    else:
        return search(ls, val, pos + 1)


def fibonacci(n):
    a = [0, 1, 1]
    i = 3
    while i < n:
        a.append(a[i - 1] + a[i - 2])
        i = i + 1
    a.append(a[i - 1] + a[i - 2])
    return a[n]


def search(ls, val):
    if ls == []:
        return False
    elif ls[0] == val:
        return True
    else:
        return search(ls[1:], val)

def index(ls, val, pos):
    if pos == len(ls):
        return False
    elif ls[pos] == val:
        return True
    else:
        return search(ls, val, pos + 1)


def search(ls, val):
    if ls == []:
        return False
    elif ls[0] == val:
        return True
    else:
        return search(ls[1:], val)


def search(string, letter):
    if letter in string:
        return 'True'
    else:
        return 'False'


def index(string, letter):
    if letter in string:
        i = 0
        while i < len(string):
            if letter == string[i]:
                return i
            i += 1
    else:
        return '-1'


def fibonacci(n):
    fib = [0, 1]
    i = 2
    while i < n + 1:
        tmp = int(fib[i - 2]) + int(fib[i - 1])
        fib.append(tmp)
        i += 1
    return fib[n]


def index(string, letter, place=0):
    if string == '':
        return '-1'
    elif string[0] == letter:
        return place
    else:
        place = place + 1
        return index(string[1:], letter, place=place)


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n == 2:
        return 1
    else:
        return fibonacci(n - 2) + fibonacci(n - 1)


def search(string, letter):
    if string == '':
        return False
    elif string[0] == letter:
        return True
    else:
        return search(string[1:], letter)


def merge_lists(l1, l2):
    l3 = l1[::2] + l2[::2]
    return l3


def weird_case(some_str):
    some_str = some_str.upper()
    return some_str


def weird_case(some_str):
    some_str = some_str.upper() % 2 == 0
    return some_str


def weird_case(some_str):
    some_str = int(some_str.upper() % 2 == 0)
    return some_str


def weird_case(some_str):
    some_str = str(some_str.upper() % 2 == 0)
    return some_str


def weird_case(some_str):
    some_str = some_str[::2].upper()
    return some_str


def weird_case(some_str):
    i = 0
    while i < len(some_str):
        for some_str[::2] in some_str:
            i = i + 1
        return some_str.upper()


def weird_case(some_str):
    i = 0
    while i < len(some_str):
        i = i + 1
    return some_str.upper()


def weird_case(some_str):
    i = 0
    while i < len(some_str):
        i = i + 1
    upper_case = some_str.upper()
    lower = int(upper_case)[::2].lower()
    return lower


def weird_case(some_str):
    i = 0
    while i < len(some_str):
        i = i + 1
    upper_case = some_str.upper()
    return upper_case


def weird_case(some_str):
    i = 0
    while i < len(some_str):
        i = i + 1
    upper_case = some_str.upper()
    upper_case.split()[1].lower()
    print(upper_case)


def weird_case(some_str):
    i = 0
    while i < len(some_str):
        i = i + 1
    upper_case = some_str.upper()
    upper_sec = upper_case.split()[1].lower()
    return upper_sec


def remove_zeros(list):
    while 0 in list:
        list.remove(0)


def weird_case(some_str):
    word = ''
    i = True
    for char in some_str:
        if i:
            word += char.upper()
        else:
            word += char.lower()
        if char != ' ':
            i = not i
        return word


def weird_case(some_str):
    word = ''
    b = True
    for char in some_str:
        word += char.upper() if b else char.lower()
        if char.isalpha():
            b = not b
    return word


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            letter_pos = i + 1
        i = i + 1
    return letter_pos


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
        i = i + 1
    return pos


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
        i = i + 1
    return pos

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
        i = i + 1
    return pos
    return '-1'


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
        i = i + 1
    return pos
    return '-1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i + 1
    return '-1'


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i + 1
    return '-1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i + 1
        if letter not in str:
            return '-1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i + 1
        if letter not in str:
            return '-1'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return -1
        i = i + 1
    return '1'


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return -1
        i = i + 1
    return '1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        else:
            return '-1'


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        else:
            return '-1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i = 1
    return '-1'


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i = 1
    return '-1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a


def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i + 1
    return '1'

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    i = str[0]
    pos = 1
    while i < len(str):
        if letter in str:
            pos = i + 1
            return pos
        i = i + 1
    return '1'


def index(str, letter, num):
    n = 0
    if letter in str:
        i = 0
        while i < len(str):
            if letter == str[i]:
                return i
            i = i + 1
    else:
        return '-1'


def fibonacci(n):
    list = [0]
    i = 0
    while n >= len(list):
        if len(list) > 1:
            n2 = list[i] + list[i - 1]
        else:
            n2 = list[i] + 1
        list.append(n2)
        i = i + 1
    return list[-1]


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def search(string, letter):
    if letter not in string:
        return 'False'
    else:
        return 'True'


def index(str, letter):
    if letter in str:
        return 1
    else:
        return -1


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(string, letter):
    if letter not in string:
        return '-1'
    if letter in string:
        a = list(string)
        return a.index(letter)


def fibonacci(n):
    previous = 0
    current = 1
    i = 1
    while i < n:
        temp = current
        current += previous
        previous = temp
        i = i + 1
    return current


def fibonacci(n):
    previous = 0
    current = 1
    i = 0
    while i < n:
        temp = current
        current += previous
        previous = temp
        i = i + 1
    return current


def fibonacci(n):
    previous = 0
    current = 1
    i = 1
    if n < 1:
        return 0
    while i < n:
        temp = current
        current += previous
        previous = temp
        i = i + 1
    return current


def index(str, letter, pos):
    if pos in len(str):
        return -1
    elif str[pos] in letter:
        return pos
    elif recursive in str:
        return 1
    else:
        return index(str, letter, pos + 1)


def fibonacci(n):
    if n <= 1:
        return n
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def merge_lists(l1, l2):
    l3 = []
    i = 0
    while i < len(l1):
        l3.append(l1[i])
        i = i + 2
    i = 0
    while i < len(l2):
        l3.append(l2[i])
        i = i + 2
    return l3


def weird_case(some_str):
    new_str = ''
    i = 0
    lc = 0
    while i < len(some_str):
        if some_str[i].isalpha():
            if lc % 2 == 0:
                new_str += some_str[i].upper()
            else:
                new_str += some_str[i].lower()
            lc += 1
        else:
            new_str += some_str[i]
        i = i + 1
    return new_str


def remove_zeros(list):
    while 0 in list:
        list.remove(0)


def merge_lists(l1, l2):
    l3 = []
    i = 0
    while i < len(l1):
        l3.append(l1[i])
        i += 2
    i = 0
    while i < len(l2):
        l3.append(l2[i])
        i += 2
    return l3


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return True
        i = i + 1
    return False


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        else:
            i = i + 1
    if i == len(str):
        return '-1'


def fibonacci(n):
    list = [0]
    i = 0
    while n >= len(list):
        if len(list) > 1:
            new_num = list[i] + list[i - 1]
        else:
            new_num = list[i] + 1
        list.append(new_num)
        i = i + 1
    return list[-1]


def search(str, letter):
    if letter in str:
        print('True')
    else:
        print('False')


def index(str, letter):
    if letter not in str:
        return '-1'
    i = 0
    while i < len(str):
        if letter == str[i]:
            return i
        i += 1


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def fibonacci(n):
    fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
    i = 10
    while i < 20:
        new = int(fib[i - 1]) + int(fib[i - 2])
        fib.append(new)
        i += 1
    j = 1
    while j < len(fib):
        if j == n:
            return fib[j]
        j += 1


def fibonacci(n):
    fib = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
    i = 10
    while i < 20:
        new = int(fib[i - 1]) + int(fib[i - 2])
        fib.append(new)
        i += 1
    j = 1
    while j < len(fib):
        if j == n:
            return fib[j]
        j += 1
    if n == 0:
        return 0


def weird_case(some_str):
    i = 0
    ls = []
    while i < len(some_str):
        if i % 2 == 0:
            ls.append(some_str[i].upper())
        else:
            ls.append(some_str[i].lower())
        i = i + 1
    return ''.join(ls)


def merge_lists(l1, l2):
    a = l1[0::2]
    b = l2[0::2]
    return a + b


def remove_zeros(list):
    i = 0
    while i < len(list):
        if list[i] == 0:
            del list[i]
        else:
            i = i + 1
    return list


def merge_lists(l1, l2):
    i = 0
    l3 = l1[::2] + l2[::2]
    return l3


def weird_case(some_str):
    string = ''
    i = True
    for char in some_str:
        if i:
            string += char.upper()
        else:
            string += char.lower()
        if char != ' ':
            i = not i
    return string


def weird_case(some_str):
    string = ''
    i = True
    for char in some_str:
        if i:
            string += char.upper()
        else:
            string += char.lower()
        if char != ' ':
            i = not i
    return string

def remove_zeros(list):
    while 0 in list:
        list.remove(0)


def bsearch(a, q):
    a = sorted(a)
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        if a[mid] > q:
            high = mid
        else:
            low = mid + 1
    return low

Search for element q in the sorted array a.


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        if a[mid] > q:
            high = mid
        else:
            low = mid + 1
    return mid


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        if a[mid] > q:
            high = mid
        else:
            low = mid + 1
    return mid - 1


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        if a[mid] > q:
            high = mid
        else:
            low = mid + 1
    return low - 1


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        if a[mid] > q:
            high = mid
        else:
            low = mid + 1
    return low


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        if a[mid] > q:
            high = mid
        elif a[mid] < q:
            low = mid + 1
        else:
            i = 0
            while i < len(a) and a[i] != q:
                i = i + 1
                return i
    return low


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        assert low <= mid < high
        if a[mid] > q:
            high = mid
            assert q <= a[high]
        else:
            low = mid + 1
            assert low == 0 or a[low - 1] < a
    return low


def bsearch(a, q):
    low = 0
    high = len(a)
    while low < high:
        mid = (low + high) / 2
        assert low <= mid < high
        if a[mid] < q:
            low = mid + 1
            assert low == 0 or a[low - 1] < a
        else:
            high = mid
            assert q <= a[high]
    return low


def remove_zeros(list):
    while 0 in list:
        list.remove(0)


def merge_lists(l1, l2):
    l3 = []
    i = 0
    while i < len(l1):
        l3.append(l1[i])
        i += 2
    i = 0
    while i < len(l2):
        l3.append(l2[i])
        i += 2
    return l3


def weird_case(some_str):
    new_str = ''
    i = 0
    lc = 0
    while i < len(some_str):
        if some_str[i].isalpha():
            if lc % 2 == 0:
                new_str += some_str[i].upper()
            else:
                new_str += some_str[i].lower()
            lc += 1
        else:
            new_str += some_str[i]
        i = i + 1
    return new_str


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'

def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a

def index(str, letter, pos):
    if pos == len(str):
        return 'False'
    elif str[pos] == letter:
        return 'True'
    else:
        return search(str, letter, pos + 1)


def index(str, letter, pos):
    if pos == len(str):
        return 'False'
    elif str[pos] == letter:
        return 'True'
    else:
        return search(str, letter, pos + 1)

def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def fibonacci(n):
    a, b = 0, 1
    for i in range(n):
        a, b = b, a + b
    return a


def index(str, letter, pos):
    if pos == len(str):
        return 'False'
    elif str[pos] == letter:
        return 'True'
    else:
        return index(str, letter, pos + 1)


def search(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return 'True'
        i = i + 1
    return 'False'


def index(str, letter, pos):
    if pos == len(str):
        return '-1'
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


Test if two circles overlap.


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def weird_case(some_str):
    i = 0
    j = 0
    while i < len(some_str):
        if 'a' <= some_str[i] <= 'z':
            j += 1
            if j % 2 == 1:
                print(upper(some_str[i]))
            else:
                print(some_str[i])
        else:
            print(some_str[i])
        i += 1


def merge_lists(l1, l2):
    import sys
    merged_list = []
    i = 0
    while i < len(l1):
        merged_list.append(l1[i])
        i = i + 2
    i = 0
    while i < len(l2):
        merged_list.append(l2[i])
        i += 2
    return merged_list


def weird_case(some_str):
    i = 0
    j = 0
    new_str = ''
    while i < len(some_str):
        if some_str[i].isalpha():
            if j % 2 == 0:
                new_str += some_str[i].upper()
            else:
                new_str += some_str[i].lower()
            j += 1
        else:
            new_str += some_str[i]
        i += 1
    return new_str


def search(string, letter):
    if letter not in string:
        return 'False'
    else:
        return 'True'


def fibonacci(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    else:
        fibN_2 = 0
        fibN_1 = 1
        i = 2
        while i <= n:
            fibN = fibN_2 + fibN_1
            fibN_2 = fibN_1
            fibN_1 = fibN
            i = i + 1
        return fibN


def index(str, letter):
    i = 0
    while i < len(str):
        if letter == str[i]:
            return i
        i = i + 1
    return -1


def remove_zeros(list):
    while 0 in list:
        list.remove(0)


def fibonacci(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def index(str, letter):
    i = 0
    while i < len(str):
        if str[i] == letter:
            return i
        i += 1
    return '-1'


def search(str, letter):
    if letter in str:
        return 'True'
    else:
        return 'False'


def index(str, letter1, letter2):
    i = 0
    while i < len(str):
        if str[i] == letter1:
            return i
        i += 1
    return '-1'
    i = 0
    while i < len(str):
        if str[i] == letter2:
            return i
        i += 1
    return '-1'


def search(str, letter):
    i = 0
    while i < len(str):
        if letter == str[i]:
            return True
        i = i + 1
    return False


def overlap(x1=0, y1=0, r1=1, x2=0, y2=0, r2=1):
    distance = (x2 - x1) ** 2 + (y2 - y1) ** 2
    if distance < (r1 + r2) ** 2:
        return True
    else:
        return False

Test if two circles overlap.


def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


def search(str, letter):
    if str == '':
        return False
    elif str[0] == letter:
        return True
    else:
        return search(str[1:], letter)


def index(str, letter, pos):
    if pos == len(str):
        return -1
    elif str[pos] == letter:
        return pos
    else:
        return index(str, letter, pos + 1)


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

assert sumup(0)==0 and sumup(1)==1 and sumup(2)==3 and sumup(10)==55 and sumup(27)==378

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)

assert factorial(-1)==1 and factorial(0)==1 and factorial(1)==1 and factorial(2)==2 and factorial(5)==120 and factorial(20)==2432902008176640000

Compute the factorial of the given number.


def power(m, n):
    if not n:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


Raise m to the power of n.


def minimum(l):
    if len(l) == 1:
        return l[0]
    tail_min = minimum(l[1:])
    return l[0] if l[0] < tail_min else tail_min

Return the minimum element in a list of numbers.


def maximum(l):
    if len(l) == 1:
        return l[0]
    tail_max = maximum(l[1:])
    return l[0] if l[0] > tail_max else tail_max

Return the maximum element in a list of numbers.


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def count_letters(s):
    if not s:
        return 0
    return 1 + count_letters(s[1:])

assert count_letters('')==0 and count_letters('0')==1 and count_letters('##')==2 and count_letters('t')==1 and count_letters('fqfseqfseqsse')==13

Return the number of lettres in a string.


def reverse_list(l):
    if l == []:
        return []
    return reverse_list(l[1:]) + [l[0]]

Recursively reverse a list of elements.


Recursively reverse a list of elements.


def fibonacci(n):
    if n == 0:
        return 1
    if n == 1:
        return 1
    return fibonacci(n - 1) + fibonacci(n - 2)


def sumup(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 0 or n == 1:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    return n + (n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 1
    return n + (n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    elif n == 1:
        return m
    return m * power(m, n - 1)

Raise m to the power of n.


def sumup(n):
    if n == 0:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n - 1)


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    sum_to_n_1 = sumup(n - 1)
    return n + sum_to_n_1

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    elif n == 1:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    sum_to_n_1 = sumup(n - 1)
    return n + sum_to_n_1

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    sum_to_n_1 = sumup(n - 1)
    return n * sum_to_n_1


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    sum_to_n_1 = factorial(n - 1)
    return n * sum_to_n_1


def power(n, p):
    if p == 0:
        return 0
    return n ** p

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return n
    return n * factorial(n - 1)


def factorial(n):
    if n == 1:
        return n
    return n * factorial(n - 1)


def power(n, p):
    if n == 0:
        return 0
    elif p == 0:
        return 1
    return n ** p

Raise m to the power of n.


def power(n, p):
    if p == 0:
        return 1
    return n ** p

Raise m to the power of n.


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 1
    sum_to_n_1 = sumup(n - 1)
    return n + sum_to_n_1

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    sum_to_n_1 = sumup(n - 1)
    return n + sum_to_n_1

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    sum_to_n_minus_1 = sumup(n - 1)
    return n + sum_to_n_minus_1

Return the sum of all integers up to n.


def factorial(n):
    if n == 1:
        return 1
    factorial_of_n = factorial(n - 1)
    return n * factorial_of_n


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 0
    fact_of_n = n - 1
    return n * fact_of_n


def minimum(a):
    minim = None
    if len(a) == 1:
        return a[0]
    newm = minimum(a[1:])
    if a[0] < newm:
        return a[0]
    else:
        return newm


def sumup(n):
    if n == 1:
        return 1
    else:
        return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return n
    return n + (n - 1)

Return the sum of all integers up to n.


def fibonacci(n):
    if n == 0 or n == 1:
        return 1
    return fibonacci(n - 1) + fibonacci(n - 2)


def sumup(n):
    if n == 0:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def maximum(a):
    minim = None
    if len(a) == 1:
        return a[0]
    newmax = maximum(a[1:])
    if a[0] > newmax:
        return a[0]
    else:
        return newmax


def minimum(l):
    l = sorted(l)
    if len(l) == 1:
        return l[0]
    l.pop()
    return minimum(l)


def factorial(n):
    if n == 0:
        return 1
    fact_of_n = n - 1
    return n * fact_of_n


def reverse_list(l):
    x = []
    i = len(l) - 1
    while i != -1:
        x.append(l[i])
        i -= 1
    return x

Recursively reverse a list of elements.


Recursively reverse a list of elements.


Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    elif n == 1:
        return 1
    fact_of_n = n - 1
    return n * fact_of_n


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return n
    return n + (n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def maximum(l):
    l = sorted(l, reverse=True)
    if len(l) == 1:
        return l[0]
    l.pop()
    return maximum(l)


def sumup(n):
    total = 0
    for i in range(n):
        total + i
    return total + n

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    fact_of_n = factorial(n - 1)
    return n * (n - 1)


def factorial(n):
    if n == 0:
        return 1
    fact_of_n = factorial(n - 1)
    return n * fact_of_n(n - 1)


def sumup(n):
    if n == 0:
        return 0
    return n + sum_up_to(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    fact_of_n = factorial(n - 1)
    return n * fact_of_n


def sumup(n):
    if n == 1:
        return 1
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return 1
    sum_to_n_1 = sumup(n - 1)
    return n + sum_to_n_1

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    total = 0
    for i in range(0, n):
        total + i
    return sumup(n - 1) + n

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    facotrial_n_minus_1 = factorial(n - 1)
    return n * facotrial_n_minus_1


Raise m to the power of n.


def factorial(n):
    if n == 1:
        return n
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return n
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n - 1)


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


def count_letters(s):
    total = 0
    if s == '':
        return 0
    for i in s:
        if s.isalpha():
            total += 1
    return total


def sumup(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    total = 1
    for i in range(n):
        total *= i
    return factorial(n - 1) * n


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n + 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    power_of_n = power(n - 1)
    return power_of_n ** m

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 1
    total = 1
    for i in range(0, n):
        total *= i
    return factorial(n - 1) * n


def sumup(n):
    if n == 0:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    return n if n < 2 else n + sumup(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    power_of_m = power(n - 1)
    return power_of_m ** n

Raise m to the power of n.


def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 1
    if n == 1:
        return 1
    return n * factorial(n - 1)


def power(m, n):
    if n == 0:
        return 1
    power_n_minus_1 = power(m, n - 1)
    return m * power_n_minus_1

Raise m to the power of n.


Raise m to the power of n.


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


def count_letters(s):
    if not s:
        return 0
    return count_letters(s[1:]) + 1


def factorial(n):
    if n == 1 or n == 0:
        return 1
    return n * factorial(n - 1)


def power(a, b):
    if a ** b == 0:
        return 1
    return power(a ** b)

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    else:
        return n * factorial(n - 1)


def factorial(n):
    return n if n < 2 else n * factorial(n - 1)


def power(m, n):
    if m == 0 or n == 0:
        return 1
    return m ** n

Raise m to the power of n.


def power(a, b):
    if a ** b == 0:
        return 1
    else:
        return a ** b
    return power(a, b)

Raise m to the power of n.


def factorial(n):
    return 1 if n < 2 else n * factorial(n - 1)


def factorial(n):
    if n == 1:
        return 1
    elif n == 0:
        return 1
    else:
        return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def power(n, p):
    if p == 0:
        return 1
    return n * power(n, p - 1)

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    return power(m, n - 1) * m

Raise m to the power of n.


def power(m, n):
    if n == 0 or m == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def power(n, m):
    if n == 2 and m == 3:
        return 8
    return n ** power(n - 1)

Raise m to the power of n.


Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 1
    if n == 1:
        return n
    return n * factorial(n - 1)


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def power(n, m):
    return 1 if not m else n * power(n, m - 1)

Raise m to the power of n.


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return 1
    return sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return 1
    sum_to_n_1 = sumup(n - 1)
    return n + sum_to_n_1

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def power(n, m):
    if n == 2 and m == 3:
        return 8
    return n ** power(n, m - 1)

Raise m to the power of n.


def minimum(A, p, r):
    q = j = p
    while j < r:
        if A[j] <= A[r]:
            A[q], A[j] = A[j], A[q]
            q += 1
        j += 1
    A[q], A[r] = A[r], A[q]
    return q


Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    power_of_n = power(n - 1)
    return m ** power_of_n

Raise m to the power of n.


def reverse_list(l=[]):
    if l.isempty():
        return '[]'
    for i in reversed(l):
        return list(i)

Recursively reverse a list of elements.


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    total = m ** (n - 1)
    return total + m ** n

Raise m to the power of n.


def reverse_list(a):
    if len(a) == 1:
        return [a[0]]
    return reverse_list(a[1:]) + [a[0]]

Recursively reverse a list of elements.


def minimum(l):
    l = sorted(l)
    if l[0] < l[1]:
        return l[0]
    return minimum(l)


def power(m, n):
    if n == 0:
        return 1
    total = m ** (n - 2)
    return total + m ** n

Raise m to the power of n.


def reverse_list(a):
    if len(a) == 0:
        return []
    elif len(a) == 1:
        return [a[0]]
    return reverse_list(a[1:]) + [a[0]]

Recursively reverse a list of elements.


Recursively reverse a list of elements.


def minimum(l):
    return l[0] if len(l) == 1 else min(l[0], minimum(l[1:]))


def reverse_list(l=[]):
    if len(l) == 0:
        return l
    for i in reversed(l):
        return list(i)

Recursively reverse a list of elements.


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    a = power(m - 1, n - 1)
    return m ** power_of_n

Raise m to the power of n.


def power(m, n):
    if m == 1:
        return m
    return power(n, m - 1)

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    total = m ** (n - 2)
    return power(m, n - 1) + m ** n

Raise m to the power of n.


def power(n, m):
    if n == 0 and m == 0:
        return 8
    return n ** power(n, m - 1)

Raise m to the power of n.


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    if m == 0:
        return 0
    total = m ** (n - 2)
    return power(m, n - 1) + m ** n

Raise m to the power of n.


def power(n, m):
    if n == 0 and m == 0:
        return 1
    return n ** power(n, m - 1)

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    power_n = power(m - 1, n - 1)
    return power_m ** power_n

Raise m to the power of n.


def maximum(l):
    return l[0] if len(l) == 1 else max(l[0], maximum(l[1:]))


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    power_n = power(m - 1, n - 1)
    return m ** power_n

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    if m == 0:
        return 0
    total = m ** (n - 1)
    return power(m, n - 1) + m ** n

Raise m to the power of n.


def reverse_list(l=[]):
    if len(l) == 0:
        return l
    x = []
    for i in reversed(l):
        x.append(i)
    return x

Recursively reverse a list of elements.


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def power(m, n):
    if m == 1:
        return m
    return power(n ** m, m - 1)

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


Raise m to the power of n.


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def maximum(l):
    sorted(l)
    return l(len(l) - 1)
    return maximum(l)


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    b = power(n - 1)
    return m ** b

Raise m to the power of n.


def power(m, n):
    if n == 1:
        return m
    elif n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n - 1)


def power(m, n):
    if n == 0:
        return 1
    if m == 0:
        return 0
    total = m ** (n - 1)
    return power(m, n - 1) + m ** (n - 1)

Raise m to the power of n.


def power(n, p):
    if p == 0:
        return 1
    return n * power(n, p - 1)

Raise m to the power of n.


def count_letters(s):
    return 0 if not s else count_letters(s[1:]) + 1


def maximum(l):
    l = sorted(l)
    if l[len(l) - 1] > l[len(l) - 2]:
        return l[0]
    return maximum(l)


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def maximum(l):
    l = sorted(l)
    if l[len(l) - 1] > l[len(l) - 2]:
        return l[len(l) - 1]
    return maximum(l)


def factorial(n):
    if n == 1:
        return 1
    return n + factorial(n - 1)


def factorial(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 0:
        return 0
    return n + sum_up_to(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    return n + factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    n = n + sumup(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    elif m == 0:
        return 0
    return m ** n

Raise m to the power of n.


Raise m to the power of n.


def sumup(n):
    if n == 1:
        return 1
    elif n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    elif n == 1:
        return n
    return n * factorial(n - 1)


def reverse_list(l):
    return l if len(l) == 1 else reverse_list(l[1:]) + [l[0]]

Recursively reverse a list of elements.


def sumup(n):
    if n == 0:
        return 0
    n = n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 1
    elif n == 1:
        return n
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def power(a, b):
    if b == 0:
        return 1
    return a * power(a, b - 1)

Raise m to the power of n.


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


def reverse_list(l):
    if len(l) < 2:
        return l
    else:
        return reverse_list(l[1:]) + l[0]

Recursively reverse a list of elements.


def reverse_list(l):
    if len(l) < 2:
        return l
    else:
        return reverse_list(l[1:]) + [l[0]]

Recursively reverse a list of elements.


def reverse_list(l):
    return l if len(l) < 2 else reverse_list(l[1:]) + [l[0]]

Recursively reverse a list of elements.


Recursively reverse a list of elements.


def fibonacci(n):
    i = 0
    prev = 0
    curr = 1
    while i < n:
        total = curr + prev
        prev = curr
        curr = total
        i += 1
    return curr


def maximum(l):
    if len(l) == 1:
        return l[0]
    if l[0] >= maximum(l[1:]):
        return l[0]
    else:
        return maximum(l[1:])


def sumup(n):
    if n == 0:
        return n
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def power(n, m):
    if m == 0:
        return 1
    return n * power(n, m - 1)

Raise m to the power of n.


Raise m to the power of n.


def power(n, p):
    if p == 0:
        return 1
    return n ** p

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    for i in l:
        if i > lowest:
            lowest = i
    return lowest


def fibonacci(n):
    return 1 if n < 2 else fibonacci(n - 1) + fibonacci(n - 2)


def factorial(n):
    if n * n == 1:
        return 1
    if n * n == 0:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def count_letters(s):
    global count
    count += 1
    if not s:
        return count
    s = s[:-1]
    return count_letters(s)


def count_letters(n):
    total = 0
    for char in n:
        total += 1
    return count_letters(n)


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def minimum(n):
    n = n.strip()
    print(min(n))


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return 1
    sumup = sumup(n - 1)
    return n + sumup

Return the sum of all integers up to n.


def factorial(n):
    if n == 1 or n == 0:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    for i in range(1, len(l)):
        if i > lowest:
            lowest = i
    return lowest


def minimum(n):
    if min(n) != None:
        print(min(n))


def power(m, n):
    if m ** n == 1:
        return 1
    if m ** n == 1:
        return 1
    return m ** m ** (n - 1)

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    return power(m ** n)

Raise m to the power of n.


def minimum(n):
    if n != None:
        print(min(n))


def power(m, n):
    if m ** n == 1:
        return 1
    if m ** n == 1:
        return 1
    return m ** power(m ** (n - 1))

Raise m to the power of n.


def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n + 1)


def sumup(n):
    if n == 1:
        return 1
    return n - sum(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return n
    return m * power(m, n - 1)

Raise m to the power of n.


def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n - 1)


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n * factorial(n - 1)


Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n * factorial(n + 1)


def factorial(n):
    if n == 0:
        return 1
    if n == 1:
        return 1
    return n * factorial(n - 1)


def sumup(n):
    if n == 1:
        return 1
    return n + sum(n - 1)

Return the sum of all integers up to n.


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    i = 0
    while i < len(l):
        if i > lowest:
            lowest = i
    return lowest


def sumup(n):
    if n == 0:
        return 0
    return n + sumup(n - 1)

Return the sum of all integers up to n.


Return the sum of all integers up to n.


def sumup(n):
    if n == 1:
        return 0
    sumup = sumup(n - 1)
    return n + sumup

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)


def count_letters(s):
    if not s:
        return count_letters.count
    s = s[:-1]
    count_letters.count += 1
    return count_letters(s)


def power(m, n):
    if m ** n == 1:
        return 1
    if m ** n == 0:
        return 1
    return m ** power(m ** (n - 1))

Raise m to the power of n.


def sumup(n):
    if n == 0:
        return 0
    sumup = sumup(n - 1)
    return n + sumup

Return the sum of all integers up to n.


def sumup(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    sumup = sumup(n - 1)
    return n + sumup

Return the sum of all integers up to n.


def sumup(n):
    if not n:
        return n
    if n == 1:
        return 1
    return n + sum(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 1
    if n == 1:
        return 1
    return n * sumup(n - 1)


def power(n, x):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n * factorial(x - 1)

Raise m to the power of n.


def power(n, x):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n * power(x - 1)

Raise m to the power of n.


def power(m, n):
    if m == 0:
        return m
    return m + power(m, n - 1)

Raise m to the power of n.


def sumup(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def factorial(n):
    if n == 0:
        return 0
    return n + factorial(n - 1)


Raise m to the power of n.


def sumup(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return n + sumup(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n - 1)


def sumup(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return n * sumup(n - 1)

Return the sum of all integers up to n.


def power(m, n):
    if m == 0:
        return m
    return m * power(m, n - 1)

Raise m to the power of n.


def power(n, m):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return n * power(m - 1)

Raise m to the power of n.


def minimum(a):
    if len(a) == 1:
        return a[0]
    small = a[0]
    i = 0
    if a[i + 1] < small:
        small = a[i]
    else:
        a.remove(a[i])
    return minimum(a)


Return the sum of all integers up to n.


def power(m, n):
    if m == 0:
        return 1
    if n == 0:
        return 1
    return m ** power(n)

Raise m to the power of n.


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    for i in l:
        if i < lowest:
            i = lowest
    return lowest


def count_letters(s):
    if s == '':
        return 0
    return 1 + count_letters(s[1:])


def factorial(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return n * factorial(n - 1)


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    for i in l:
        if i > lowest:
            i = lowest
    return lowest


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    for i in l:
        if i > lowest:
            lowest = i
    return lowest


def power(n, m):
    if n == 0:
        return 1
    return n * power(m - 1)

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    return n ** power(m - 1)

Raise m to the power of n.


def minimum(n):
    if n != None:
        print(min(n))


def factorial(n):
    if n == 0 or n == 1:
        return 1
    return n * factorial(n - 1)


def factorial(n):
    if n == 0:
        return 0
    return n * factorial(n + 1)


def power(m, n):
    if n == 0:
        return 1
    return n ** power(m, n - 1)

Raise m to the power of n.


def power(a, b):
    if b == 0:
        return 1
    return a * power(a, b - 1)

Raise m to the power of n.


Raise m to the power of n.


def power(n, m):
    if n == 0:
        return 1
    return n * power(m, m - 1)

Raise m to the power of n.


def power(n, m):
    if n == 0:
        return 1
    return n * power(n, m - 1)

Raise m to the power of n.


def minimum(line):
    smallest = line[0]
    for c in line:
        if c < smallest:
            smallest = c
    return smallest


def power(m, n):
    if n == 0:
        return 1
    return n * power(m, n - 1)

Raise m to the power of n.


def power(m, n):
    if n == 0:
        return 1
    return n * power(n, m - 1)

Raise m to the power of n.


def minimum(l):
    if len(l) == 1:
        return l[0]
    else:
        return min(l[0], findMinimum(l[1:]))


def power(m, n):
    if n == 0:
        return 1
    return m * power(m, n - 1)

Raise m to the power of n.


def minimum(a):
    if len(a) == 1:
        return a[0]
    small = a[0]
    if a[1] < small:
        small = a[1]
    else:
        a.remove(a[0])
    return minimum(a)


def minimum(l):
    if len(l) == 1:
        return l[0]
    else:
        return min(l[0], minimum(l[1:]))


def minimum(l=[]):
    if len(l) == 0:
        return l
    lowest = 0
    i = 0
    j = i + 1
    while i < len(l):
        if i < j[i]:
            j[i] = i
    return i


def power(n, p):
    if p == 0:
        return 1
    if p == 1:
        return n
    return n * power(n, p - 1)

Raise m to the power of n.


def minimum(a):
    if len(a) == 1:
        return a[0]
    if a[-2] < a[-1]:
        return minimum(a[:-1])
    else:
        return minimum(a[:-2] + a[-1:])


def power(n, p):
    if p == 0:
        return 1
    power = power(p - 1)
    return power * n

Raise m to the power of n.


def power(n, p):
    if p == 0:
        return 1
    po = power(p - 1)
    return po * n

Raise m to the power of n.


def power(n, p):
    if p == 1:
        return n
    return n * n ** (p - 1)

Raise m to the power of n.