#include<iostream>
#include<cstdio>
#include<cstring>
#define ull unsigned long long
#define ll long long
#define N 1005
using namespace std;
int n,ans;
int a[N],b[N];
string s;
int main(){
cin>>n>>s;
for(int i=s.size()-1;i>=0;i--){
if(n==16 && s[i]>='A' && s[i]<='F'){
a[s.size()-i]=s[i]-'A'+10;
}else{
a[s.size()-i]=s[i]-'0';
}
}
int len=s.size(),mlen;
for(ans=1;ans<=30;ans++){
mlen=len;
for(int i=1;i<=len;i++){
b[i]+=a[i]+a[len-i+1];
if(b[i]>=n){
b[i]-=n;
b[i+1]++;
if(i==1){
mlen++;
}
}
}
len=mlen;
bool isnum=1;
for(int i=1;i<=len;i++)
if(b[i]!=b[len-i+1]){
isnum=0;
break;
}
if(isnum==1){
cout<<"STEP="<<ans<<endl;
return 0;
}
for(int i=1;i<=len;i++)
a[i]=b[i];
memset(b,0,sizeof b);
}
cout<<"Impossible!"<<endl;
return 0;
}