25 lines
610 B
Python
25 lines
610 B
Python
"""PARTIEL BUG: les rendus 3, 2 et 2, 3 sont considérés comme distincts"""
|
|
m = 1000000007
|
|
|
|
def main():
|
|
n, target = map(int, input().split())
|
|
dollars = [int(i) for i in input().split() if int(i) != 0]
|
|
|
|
manieres = [0 for _ in range(target+1)]
|
|
manieres[0] = 1
|
|
|
|
for k in range(1, target+1):
|
|
man = 0
|
|
for coin in dollars:
|
|
if coin <= k:
|
|
#print("coin:", coin)
|
|
man += manieres[k-coin]
|
|
|
|
#print(k, man)
|
|
manieres[k] = man%m
|
|
|
|
print(manieres)
|
|
return manieres[target]
|
|
|
|
for _ in range(int(input())):
|
|
print(main()) |