#include<bits/stdc++.h>
using namespace std;
const int N=201000;
int a[N],b[N],n,ans[N],len,lena;
char m[110];
int check()
{
int k=0;
for(int i=1;i<=lena;i++)
{
if(ans[i]!=ans[lena-i+1]) k=1;
}
if(k) return 0;
return 1;
}
int main()
{
cin>>n>>m;
len=strlen(m);
for(int i=1;i<=len;i++)
{
if(n!=16)
{
b[i]=m[i-1]-48;
a[i]=m[len-i]-48;
}
else
{
b[i]=m[i-1]-55;
a[i]=m[len-i]-55;
}
}
int p=0;
for(int i=1;i<=len;i++)
{
if(a[i]!=a[len-i+1]) p=1;
}
if(p==0)
{
cout<<"STEP=0"<<endl;
return 0;
}
lena=len;
int cnt=0;
while(cnt==0||check()==0)
{
if(cnt!=0)
for(int j=1;j<=lena;j++)
{
a[j]=ans[j];
b[j]=ans[lena-j+1];
}
memset(ans,0,sizeof(ans));
int x=0;
for(int i=1;i<=len;i++)
{
int t=x+a[i]+b[i];
ans[i]=t%n;
x=t/n;
}
cnt++;
if(x>=1)
{
lena++;
ans[lena]=x;
}
len=lena;
if(cnt>=31)
{
cout<<"Impossible!";
return 0;
}
}
cout<<"STEP="<<cnt;
}