def recursiveAddCards(cards):
    print("Input:", cards)
    if cards == []:
        return 0
    else:
        smallerDeck = cards[1:]
        smallerResult = recursiveAddCards(smallerDeck)
        return cards[0] + smallerResult
    
def factorial(x):
    if x == 0:
        return 1
    elif x == 1:
        return 1
    else:
        smallerResult = factorial(x-1)
        return x * smallerResult

        
def countVowels(s):
    print("input:", s)
    if s == "": # base case
        print("Ret: 0")
        return 0
    else: # recursive case
        smaller = countVowels(s[1:])
        if s[0] in "aeiouAEIOU":
            print("Ret: ", 1+smaller)
            return 1 + smaller
        else:
            print("Ret: ", smaller)
            return smaller
        

def removeDuplicates(lst):
    if lst == []: # base case
        return []
    else: # recursive case
        smaller = removeDuplicates(lst[1:])
        if lst[0] in smaller:
            return smaller
        else:
            return [lst[0]] + smaller
