#include <bits/stdc++.h>
using namespace std;
bool f=false,flag=true;
string hui(string n)
{
string t="";
int len=n.size();
for(int i=len-1;i>=0;i--)
{
t=t+n[i];
}
return t;
}
bool check(string n)
{
string t=hui(n);
if(n==t)
{
return true;
}
else
{
return false;
}
}
int zci(char c)
{
int num=0;
if(c<='9'&&c>='0')
{
num=c-'0';
}
else
{
if(c>='A'&&c<='Z')
{
num=c-'A'+10;
}
}
return num;
}
char zic(int n)
{
char c;
if(n>=0&&n<=9)
{
c='0'+n;
}
else
{
c='A'+(n-10);
}
}
string jia(string a,string b,int n)
{
a="0"+a;
b="0"+b;
string ans="";
int len=a.size();
int x=0,sum=0;
int num1=0,num2=0;
for(int i=0;i<=len-1;i++)
{
num1=zci(a[len-i-1]);
num2=zci(b[len-i-1]);
sum=num1+num2+x;
if(i==len-1)
{
if(sum==0)
{
break;
}
}
ans=zic(sum%n)+ans;
x=sum/n;
sum=0;
}
return ans;
}
int main()
{
int n,cnt=0;
cin>>n;
string s;
cin>>s;
string t1=s,t2="",sum="";
while(!check(t1))
{
t2=hui(t1);
sum=jia(t1,t2,n);
t1=sum;
cnt++;
if(cnt>=30)
{
break;
flag=false;
}
}
if(flag)
{
cout<<"STEP="<<cnt<<endl;
}
else
{
cout<<"Impossible!"<<endl;
}
return 0;
}