{"raw_statement":[{"iden":"statement","content":"若一个数（首位不为零）从左向右读与从右向左读都一样，我们就将其称之为回文数。\n\n例如：给定一个十进制数 $56$，将 $56$ 加 $65$（即把 $56$ 从右向左读），得到 $121$ 是一个回文数。\n\n又如：对于十进制数 $87$：\n\nSTEP1：$87+78=165$  \nSTEP2：$165+561=726$  \nSTEP3：$726+627=1353$   \nSTEP4：$1353+3531=4884$  \n\n在这里的一步是指进行了一次 $N$ 进制的加法，上例最少用了 $4$ 步得到回文数 $4884$。\n\n写一个程序，给定一个 $N$（$2 \\le N \\le 10$ 或 $N=16$）进制数 $M$（$100$ 位之内），求最少经过几步可以得到回文数。如果在 $30$ 步以内（包含 $30$ 步）不可能得到回文数，则输出 `Impossible!`。"},{"iden":"input","content":"两行，分别是 $N$，$M$。\n"},{"iden":"output","content":"如果能在 $30$ 步以内得到回文数，输出格式形如 `STEP=ans`，其中 $\\text{ans}$ 为最少得到回文数的步数。\n\n否则输出 `Impossible!`。\n"}],"translated_statement":null,"sample_group":[["10\n87\n","STEP=4\n"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}