Donat un nombre x i n valors diferents de monedes m1 …mn, de quantes maneres es pot aconseguir canvi x usant cada valor com a molt dues vegades? Considereu diferents dues monedes amb el mateix valor.
Per exemple, si x = 4 i disposem dels dos valors 1 i 2, llavors tenim tres maneres: 1 + 1′ + 2, 1 + 1′ + 2′, i també 2 + 2′.
Entrada
L’entrada consisteix en diversos casos. Cada cas comença amb x i n, seguit de m1 …mn. Suposeu 1 ≤ n ≤ 1000, 1 ≤ mi ≤ x ≤ 1000, i que totes les mi són diferents.
Sortida
Per a cada cas, escriviu el nombre de maneres diferents d’aconseguir canvi exactament x usant cada valor com a molt dues vegades. Com que el resultat pot ser molt gros, feu el càlculs mòdul 108 + 7.
Input
4 2 1 2 400 1 200 400 1 300 5 3 4 2 1 5 5 1 2 3 4 5 120 29 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Output
3 1 0 6 14 36982290