若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个$10$进制数$56$,将$56$加$65$(即把$56$从右向左读),得到$121$是一个回文数。 又如:对于$10$进制数$87$:
STEP1:$$87+78 = 165$$
STEP2:$$165+561 = 726$$
STEP3:$$726+627 = 1353$$
STEP4:$$1353+3531 = 4884$$
在这里的一步是指进行了一次$N=10$进制的加法,上例最少用了$4$步得到回文数$4884$。 写一个程序,给定一个$N(2 \le N \le 16$进制数$M$,求最少经过几步可以得到回文数。如果在$30$步以内(包含$30$步)不可能得到回文数,则输出“Impossible!”
共两行
第一行为进制数$N,2 \le N \le 16$
第二行为N进制数$M, 0 \le M \le 2^{63}-1$
共一行,为“STEP=经过的步数”或“Impossible!”
9
87
STEP=6