#P13010. 生成元溯源

生成元溯源

题目背景

如果正整数 xx 加上 xx 各位上数字之和得到 yy,就称 xxyy 的生成元,或者说 yy 的生成元是 xx

一个正整数的生成元可能不唯一,例如 101101 就有 1001009191 两个生成元。

有些正整数没有生成元,例如 1,3,5,7,9,20,31,42,53,64,75,86,97,...1,3,5,7,9,20,31,42,53,64,75,86,97,... 这些正整数都没有生成元。

对于正整数 k0k_0,如果计算得到其生成元是 k1k_1,继续计算得到 k1k_1 的生成元 k2k_2,继续计算得到 k2k_2 的生成元 k3k_3,……,这样持续溯源,最后得到一个生成元 kik_i 并且 kik_i 没有生成元,到这里溯源过程结束,最后的生成元 kik_i 就是溯源得到的原始生成元。因为一个正整数的生成元可能不唯一,所以这样的溯源可能有多种方式。

题目描述

给定的一系列正整数,对于每个正整数,找出其所有溯源方式。

输入格式

11 行是一个正整数 NN

22 行有 NN 个正整数 nin_i1iN1\leq i \leq N),整数间用一个空格隔开。

输出格式

NN 组输出。

输入的第 ii 个正整数 nin_i ,对应第 ii 组输出,组与组之间的输出内容用一个空行隔开。

如果 nin_i 没有生成元,按照格式 ni:NONEn_i\verb|:NONE| 输出,独占一行。

如果 nin_i 可以溯源,先在一行里输出 nin_i 和英文冒号 :,然后 nin_i 的每种溯源情况独占一行输出。

每种溯源先输出序号和英文小圆点 .,然后输出溯源过程,整数用一个英文逗号 , 隔开。

多种溯源按照溯源过程整数降序的顺序先后输出,具体可以分析输出样例。

输入输出样例

6
216 64 2005 101 214 32
216:
1.216,207,189,180,171,162,153,144,135,126,117,108
2.216,207,189,180,171,162,153,144,135,126,117,99,90,81,72,63,54,45,36,27,18,9
3.216,198

64:NONE

2005:
1.2005,1979,1957,1937,1918,1904,1879,1862
2.2005,1979,1957,1937,1918,1895

101:
1.101,100,86
2.101,91,77,70,62,49,38,28,23,16,8,4,2,1

214:
1.214,206,202,200,190,176
2.214,206,202,191,181,167,160,152,139,128,118,113,106,89,76,65,55,50,43,35,31
3.214,206,202,191,181,167,160,152,139,128,118,113,97
4.214,206,193,182,172,158,151,143
5.214,197,184,173,163,149,142,134,130,119,109,104,88,80,67,56,46,41,34,26,22,20
6.214,197,184,173,163,149,142,134,130,119,109,95,79,71,58,47,37,32,25,17,13,11,10,5

32:
1.32,25,17,13,11,10,5

说明/提示

👀️ 对于100%100\% 的数据,N1000N\leq 10001ni10001 \leq n_i \leq 1000