
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1000000],b[1000000],n,sum;
void zhuan(int a[]) //字符串转化成数字
{
char s[1000000];
cin>>n;
scanf("%s",s);
a[0]=strlen(s);
for(int i=1;i<=a[0];i++)
{
if(s[a[0]-i]>='0'&&s[a[0]-i]<='9')
a[i]=s[a[0]-i]-'0';
else a[i]=s[a[0]-i]-'A'+10;
}
}
bool check(int a[]) //判断是否回文
{
for(int i=1;i<=a[0];i++)
if(a[i]!=a[a[0]-i+1]) return false;
return true;
}
void jia(int a[]) //做加法
{
for(int i=1;i<=a[0];i++)
b[i]=a[a[0]-i+1];
for(int i=1;i<=a[0];i++)
a[i]+=b[i];
for(int i=1;i<=a[0];i++)
{
a[i+1]+=a[i]/n;
a[i]%=n;
}
if(a[a[0]+1]>0) a[0]++;
}
int main()
{
zhuan(a);
if(check(a)) {cout<<"STEP="<<0; return 0;}
sum=0;
while(sum<=30)
{
sum++;
jia(a);
if(check(a)) {cout<<"STEP="<<sum; return 0;}
}
cout<<"Impossible!";
return 0;
}