import java.util.Scanner;
// 直接对应的进制进行相加,我一开始转成10进制后在加的,之前没有看清楚题目
public class Main {
// 获取数的倒数(倒过来排序的数)
public static String getPalindrome(String s) {
String ss = "";
for (int i = s.length() - 1; i >= 0; i--) {
ss += s.charAt(i);
}
return ss;
}
// 判断是否为回文数
public static boolean isPalindrome(String s) {
int length = s.length();
for (int i = 0; i <= length / 2; i++) {
if (s.charAt(i) != s.charAt(length - 1 - i)) {
return false;
}
}
return true;
}
// 进制相加
public static String add(String s1, String s2, int radix) {
String ss = "0123456789ABCDEF";
int count = 0;
StringBuffer sb = new StringBuffer();
for (int i = s1.length() - 1; i >= 0; i--) {
int i1 = ss.indexOf(s1.charAt(i) + "");
int i2 = ss.indexOf(s2.charAt(i) + "");
int result = (i1 + i2 + count) % radix;
count = (i1 + i2 + count) / radix;
sb.insert(0, ss.charAt(result));
if (i == 0 && count == 1) {
sb.insert(0, "1");
}
}
return sb.toString();
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int radix = Integer.valueOf(sc.nextLine());
String value = sc.nextLine();
// 进制数
// System.out.println(value);
// System.out.println(radix);
int n = 0; // 加的次数
while (n <= 30) {
// 判断是否为回文数
if (isPalindrome(value)) {
break;
}
n++;
value = add(value, getPalindrome(value), radix);
// System.out.println(n + ":" + value);
}
if (n > 30) {
System.out.print("Impossible!");
} else {
System.out.print("STEP=" + n);
}
}
}