#include<bits/stdc++.h>
using namespace std;
int sum=0;
bool hui(string s){
int zo = 0,you = s.size()-1;
while(zo<you){
if(s[zo]!=s[you]) return false;
zo++;you--;
}
return true;
}
int zhuan1(char ss){
if(ss>='A'&&ss<='Z') return ss-'A'+10;
else return ss-'0';
}
char zhuan2(int sss){
if(sss<10) return sss+'0';
else return sss+'A'-10;
}
string gao(string s1,int c1){
string a1,b1;
for(int i = 0;i<s1.size();i++){
a1[i] = s1[i];
b1[i] = s1[s1.size()-1-i];
}
int c[1005] = {0},len = s1.size();
for(int i = 0;i<s1.size();i++){
c[i] += zhuan1(a1[i])+zhuan1(b1[i]);
c[i+1] += c[i]/c1;
c[i] %= c1;
}
if(c[s1.size()]) len++;
for(int i = 0;i<len;i++){
s1[i] = zhuan2(c[i]);
}
return s1;
}
int main(){
int a;
string b;
cin>>a>>b;
cout<<gao(b,a);
while(!hui(b)){
gao(b,a);
sum++;
if(sum>30){
break;
}
}
if(sum<=30){
cout<<"STEP="<<sum;
}
else{
cout<<"Impossible!";
}
return 0;
}