callCount = 0

def findSum(n, l):
    # global callCount # used to demonstrate efficiency
    # callCount += 1   #
    
    if n == 0:
        return []
    elif l == []:
        return False
    elif len(l) == 1:
        if n == l[0]:
            return l
        else:
            return False
    else:
        temp = findSum(n-l[0], l[1:])
        if temp != False:
            return [l[0]] + temp
        else:
            return findSum(n, l[1:])


import time

def testf(fn, *args):
    global callCount
    callCount = 0
    t1 = time.time()
    res = fn(*args)
    t2 = time.time()
    return t2-t1, callCount
    
