import itertools
def yoba(c, n, g):
all_combinations = itertools.combinations_with_replacement(c, n)
combinations = itertools.ifilter(lambda x: sum(x) == g, all_combinations)
return next(combinations, None)
c = [1, 2, 5, 10, 25]
g = 30
print yoba(c, 4, g)
print yoba(c, 1, g)
aW1wb3J0IGl0ZXJ0b29scwoKZGVmIHlvYmEoYywgbiwgZyk6CglhbGxfY29tYmluYXRpb25zID0gaXRlcnRvb2xzLmNvbWJpbmF0aW9uc193aXRoX3JlcGxhY2VtZW50KGMsIG4pCgljb21iaW5hdGlvbnMgPSBpdGVydG9vbHMuaWZpbHRlcihsYW1iZGEgeDogc3VtKHgpID09IGcsIGFsbF9jb21iaW5hdGlvbnMpCglyZXR1cm4gbmV4dChjb21iaW5hdGlvbnMsIE5vbmUpCgkKYyA9IFsxLCAyLCA1LCAxMCwgMjVdCmcgPSAzMAoKCnByaW50IHlvYmEoYywgNCwgZykKcHJpbnQgeW9iYShjLCAxLCBnKQ==