P1092

[2009国家集训队]密码系统

[2009国家集训队]密码系统

Lambda 受任于某情报站,负责获取敌方情报。一次破解密码系统时,他得到了一个 NN 位 BB 进制数 φ\varphi,满足

φ≡V(modM)。\varphi\equiv V\pmod M。

他发现,组成 φ\varphi 的数字十分特殊。为了验证这种特殊性,他将所有满足模 MM 余 VV 的 NN 位 BB 进制数,按照其数位所构成的集合分类,并希望知道每一类中有多少个数。

输入格式

输入共一行,包含四个整数 NN、BB、MM、VV。

输出格式

输出共 2B−12^B-1 行。

每行包含一个非空集合 SS 和一个整数 Ans[S]Ans[S],两者之间以单个空格分隔。

集合 SS 由其中所有元素按递减顺序排列后表示。例如,集合 {0,1,2}\{0,1,2\} 表示为 210。

Ans[S]Ans[S] 表示数位集合恰好为 SS,且满足题目条件的数的个数。所有集合按照其表示形式的字典序输出,每个集合只输出一次。

由于 Ans[S]Ans[S] 可能很大,请输出其除以 1000710007 所得的余数。

样例输入

3 3 4 1

样例输出

0 0
1 1
10 1
2 0
20 0
21 2
210 1

数据范围

  • N≤109N\le 10^9;
  • B≤10B\le 10;
  • M≤110M\le 110。

来源与许可

本题为 2009 年国家集训队试题「密码系统」,题面与测试数据整理自 BZOJ。

样例 1

输入

3 3 4 1

输出

0 0
1 1
10 1
2 0
20 0
21 2
210 1