QAQ的问题
Time Limit: 1000
Memory Limit: 131072
题目描述
有 $M$ 个不同的阵地,每个阵地上可以留守任意个士兵(人数为非负整数)。现在 QAQ 有 $N$ 个士兵,他需要选择至少一个阵地才可以获得胜利。QAQ 的一贯原则——让所有士兵留守在他选择的阵地上。问有多少种安排方案使得 QAQ 获得胜利。为了降低难度,QAQ 在选择的阵地上不留守士兵也是合法的。
方案数的不同判定只能依据下面三条:
- 选择的阵地数目不同——例如选择 $1$ 个阵地和选择 $2$ 个阵地。
- 选择的阵地不同——例如选择阵地 $1$、$2$ 和选择阵地 $2$、$3$。
- 在选择的阵地中任意两个阵地留守士兵数目不同——例如在选择的两个阵地上,一种方案中人数分布为 $(a, b)$,另一种为 $(c, d)$,若 $a \ne c$ 或 $b \ne d$(其中 $a,b,c,d$ 均为非负整数),则视为不同方案。
举例说明:当 $N=2$,$M=2$ 时,方案数为 $5$。
- 选择 $1$ 个阵地方案数为 $2$
① 选择阵地 $1$ 并留守 $2$ 个士兵;
② 选择阵地 $2$ 并留守 $2$ 个士兵。 - 选择 $2$ 个阵地方案数为 $3$
在阵地 $1$ 和 $2$ 的留守人数分别为 $(0, 2)$、$(2, 0)$、$(1, 1)$。
输入
有多组测试数据,请处理到文件结束。
每组数据给定两个整数 $N$ 和 $M$,分别表示士兵人数和阵地数目($1 \le N, M \le 50$)。
输出
对每组数据,输出一个整数表示不同的方案数。由于结果可能很大,只需输出其对 $777$ 取模的结果。
注意:如果最终结果为 $777$,则输出 $777 \bmod 777 = 0$。
样例输入
2 2
46 37
1 1样例输出
5
0
1