atcoder#ABC230H. [ABC230H] Bullion
[ABC230H] Bullion
配点 : 点
問題文
クレーンゲームの大会で優勝した高橋君は金塊詰め放題の権利を得ました。 会場には $w_1 \lbrack\mathrm{kg}\rbrack, w_2 \lbrack\mathrm{kg}\rbrack, \dots, w_K \lbrack\mathrm{kg}\rbrack$ の重さの金塊、および金塊を詰める の袋が無尽蔵にあります。
高橋君は 個の空でない袋を持ち帰ることができます。 袋には 個以上の空でない袋と 個以上の金塊を入れることができます。
耐荷重量 のトラックを手配した高橋君は、 について持ち帰る袋の総重量が である詰め方としてあり得る状態の数が気になりました。 について状態数を で割ったあまりを求めてください。ただし、
- つの金塊が同じであるとは、金塊の重さが同じであることをいいます。
- つの袋が同じ状態であるとは、袋に入っている袋および金塊からなる多重集合が一致することをいいます。
制約
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを 行出力せよ。 行目には のときの答えを出力せよ。
4 1
1
1
2
4
において袋の状態としてあり得るものを列挙したのが下の図になります。 (丸い線が袋を表しています。)
10 10
1 2 3 4 5 6 7 8 9 10
1
3
7
18
45
121
325
904
2546