#P2205. Self-Replicating Numbers

    ID: 1206 远端评测题 10000ms 64MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>Northeastern Europe 2002Northern Subregion

Self-Replicating Numbers

本题没有可用的提交语言。

描述
Vasya的弟弟Misha喜欢玩数字游戏。两天前,他发现93762=879093769376^2 = 87909376——平方后的最后四位数字又构成了9376。他将这样的数字称为自复制数。更准确地说,一个n位数字被称为自复制数,如果它等于其平方的最后n位数字构成的数。现在,Misha经常要求Vasya帮他找到新的这样的数。更糟糕的是,Vasya的弟弟已经知道了进制是什么,所以他要求Vasya找到例如十六进制或二进制的自复制数。

Vasya想帮助他的弟弟,但不幸的是他现在非常忙:他正在认真准备和训练下一届ACM区域赛。所以他请你写一个程序,对于给定的基数b和长度n,在基数为b的进制下找到所有n位自复制数。

输入
输入的唯一一行包含两个数字b和n,用一个空格分隔,分别是基数b(2b362 \leq b \leq 36)和所需的长度n(1n20001 \leq n \leq 2000)。

输出
输出的第一行包含K——在基数为b的进制下长度为n的自复制数的总数。接下来的K行每行包含一个基数为b的n位数字。当b > 10时,必须使用大写拉丁字母A到Z表示10到35的数字。自复制数可以按任意顺序列出。

示例输入 1

12 6  

示例输出 1

2  
1B3854  
A08369  

来源
Northeastern Europe 2002, Northern Subregion