#include<bits/stdc++.h>
using namespace std;
int n,a[120],b[120],ans;
string m;
int fz(int j){
for(int i=0;i<=j;i++){
b[j-i]=a[i];
}
int z=119;
while(b[z]==0) z--;
return z;
}
int add(int n){
for(int i=0;i<120;i++){
a[i]+=b[i];
a[i+1]+=(a[i]/n);
a[i]%=n;
}
}
int pd(){
int len=119,f=1;
while(a[len]==0) len--;
for(int i=0;i<len;i++){
if(a[i]!=a[len-i]){
f=0;
break;
}
}
if(f) return 1;
else return 0;
}
int one(int n,int j){
while(1){
ans++;
j=fz(j);
add(n);
if(pd()==1){
break;
}
}
}
int main(){
cin>>n>>m;
for(int i=0;i<m.size();i++){
a[i]=m[i]-'0';
}
one(n,m.size()-1);
if(ans<=30) printf("STEP=%d",ans);
else cout<<"Impossible!";
return 0;
}