16001 - 回文数

通过次数

37

提交次数

77

时间限制 : 1 秒
内存限制 : 128 MB

一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数。比如121,2332都是回文数,13,4567不是回文数。任意一个正整数,如果其不是回文数,将该数交换高低位以后和原数相加得到一个新的数,如果新数不是回文数,重复这个变换,直到得到一个回文数为止。例如,57变换后得到 132(57+75),132得到363(132+231),363是一个回文数。 
曾经有数学家猜想:对于任意正整数,经过有限次上述变换以后,一定能得出一个回文数。至今这个猜想还没有被证明是对的。现在请你通过程序来验证。

输入

一行一个正整数n

输出

第一行一个正整数,表示得到一个回文数的最少变换次数。

接下来一行,输出变换过程,相邻的数之间用-->连接。输出格式可以参见样例,保证最后生成的数在int范围内

样例

输入

349

输出

3
349-->1292-->4213-->7337