# [NOIP1999 普及组] 回文数

## 题目描述

若一个数（首位不为零）从左向右读与从右向左读都一样，我们就将其称之为回文数。

例如：给定一个十进制数 $56$，将 $56$ 加 $65$（即把 $56$ 从右向左读），得到 $121$ 是一个回文数。

又如：对于十进制数 $87$：

STEP1：$87+78=165$  
STEP2：$165+561=726$  
STEP3：$726+627=1353$   
STEP4：$1353+3531=4884$  

在这里的一步是指进行了一次 $N$ 进制的加法，上例最少用了 $4$ 步得到回文数 $4884$。

写一个程序，给定一个 $N$（$2 \le N \le 10$ 或 $N=16$）进制数 $M$（$100$ 位之内），求最少经过几步可以得到回文数。如果在 $30$ 步以内（包含 $30$ 步）不可能得到回文数，则输出 `Impossible!`。

## 输入格式

两行，分别是 $N$，$M$。

## 输出格式

如果能在 $30$ 步以内得到回文数，输出格式形如 `STEP=ans`，其中 $\text{ans}$ 为最少得到回文数的步数。

否则输出 `Impossible!`。

## 样例 #1

### 样例输入 #1

```
10
87
```

### 样例输出 #1

```
STEP=4
```