Exciting Days
题目背景
网上流传一种说法,称 $10$ 月 $24$ 日是“程序员节”,因为 $1024$ 恰好是 $2^{10}$,而计算机和二进制有密切联系。
如果某个不使用地球历法的外星文明,也不一定用传统的二进制计算机,会不会也有类似的传统呢?
题目描述
某个星球的历法和地球虽然数值上和地球不同,但是其结构和地球人的历法大体相似。具体地,他们的一年有 $n$ 个月,其中第 $i$ 个月有 $a_i$ 天。
定义 $m$ 月 $d$ 日的**特征值**为将 $m,d$ 的十进制写出(不含前导 $0$)后,直接拼接的结果。例如 $3$ 月 $7$ 日特征值是 $37$,$12$ 月 $20$ 日特征值是 $1220$。
如果一个日期的特征值是 $k$ 的自然数次幂,则称这个日期是**广义程序员节**。你可以求出这个星球的所有广义程序员节吗?
输入输出格式
输入格式
**本题有多组测试数据。** 输入的第一行有一个正整数 $T$,表示测试数据组数。
每组测试数据输入两行。第一行有两个正整数 $n,k$,含义和题目描述一致;第二行有 $n$ 个正整数 $a_1,\ldots,a_n$ 表示每个月的天数。
输出格式
对于每组测试数据,先输出一行一个自然数表示广义程序员节个数;再输出若干行,每行一对用空格隔开的正整数 $m,d$ 表示 $m$ 月 $d$ 日表示一个程序员节。
在同一组测试数据中,输出的日期应按照一年当中的顺序输出。
输入输出样例
输入样例 #1
2
2 1
11 12
12 2
31 29 31 30 31 30 31 31 30 31 30 31
输出样例 #1
0
7
1 6
1 28
3 2
5 12
6 4
10 24
12 8
说明
【样例解释】
对于第一组数据,外星人的日历有两个月,第一个月有 $11$ 天,第二个月有 $12$ 天。现在要求特征值是 $1$ 的整数次幂,只能是 $1$,然而日期的特征值**至少是两位数**,因此不存在符合要求的日期。
对于第二组数据,这是地球人闰年时的公历,不难发现输出的日期特征值确实都是 $2$ 的自然数次幂。
【数据范围】
本题共 $25$ 个测试点,每个 $4$ 分。数据范围中,$\sum n$ 表示所有测试数据的 $n$ 之和,例如样例的 $\sum n=14$。
|测试点编号|$T\le$|$\sum n\le$|$a_i\le$|特殊性质|
|:-:|:-:|:-:|:-:|:-:|
|$1$|$1$|$1000$|$1000$|$k=6$|
|$2\sim 3$|$1$|$1000$|$1000$||
|$4\sim 6$|$3$|$1000$|$1000$||
|$7\sim 11$|$3$|$10^4$|$10^4$||
|$12\sim 14$|$1$|$3\times 10^5$|$10^9$||
|$15\sim 17$|$3$|$3\times 10^5$|$10^9$||
|$18\sim 19$|$10^4$|$10^4$|$10^9$|$n=1$|
|$20\sim 21$|$10^4$|$9\times 10^4$|$10^9$|$n\le 9$|
|$22\sim 25$|$10^4$|$3\times 10^5$|$10^9$||
对于全部数据,保证 $1\le T\le 10^4$,$1\le n\le 3\times 10^5$,$1\le \sum n\le 3\times 10^5$,$1\le a_i,k\le 10^9$,输入皆为整数。
为避免卡常,题目保证单个测试点输出的日期不超过 $2\times 10^4$ 个。