def count_change(money, coins):
    m = len(coins)

    return count(money, coins, m)


def count(money, coins, m):
    table = [0 for k in range(money + 1)]

    table[0] = 1

    for i in range(0, m):
        for j in range(coins[i], money + 1):
            table[j] += table[j - coins[i]]

    return table[money]




c9b32f1612fa51fa9afbcb11e6f9feebdce3c7d4
<mask token>

def count_change(money, coins):
    m = len(coins)
    return count(money, coins, m)


<mask token>

def count_change(money, coins):
    m = len(coins)
    return count(money, coins, m)


def count(money, coins, m):
    table = [(0) for k in range(money + 1)]
    table[0] = 1
    for i in range(0, m):
        for j in range(coins[i], money + 1):
            table[j] += table[j - coins[i]]
    return table[money]

def count_change(money, coins):
    m = len(coins)

    return count(money, coins, m)


def count(money, coins, m):
    table = [0 for k in range(money + 1)]

    table[0] = 1

    for i in range(0, m):
        for j in range(coins[i], money + 1):
            table[j] += table[j - coins[i]]

    return table[money]



