#include<bits/stdc++.h>
int x[500];
int mid[500];
int j=0;
char M[101];
int N;
using namespace std;
int huiwenshu(int x[]){
for(int i=0;i<j/2;i++){
if(x[i]!=x[j-1-i])return 0;
}
return 1;
}
void fanadd(int x[]){
int y[500];
for(int i=0;i<j;i++){
y[i]=x[j-1-i];
}
for(int i=0;i<j;i++){
x[i]=x[i]+y[i];
if(x[i]>=N){
x[i+1]++;
x[i]=x[i]-N;
}
if(x[j]!=0)j++;
}
}
int main(){
cin>>N;
cin>>M;
while(M[j]!='\0'){
mid[j]=M[j]-'0';
if(M[j]<='F'&&M[j]>='A')mid[j]=M[j]-'A'+10;
j++;
}
for(int i=0;i<j;i++){
x[i]=mid[j-1-i];
}
int step=0;
while(step<=30&&!huiwenshu(x)){
fanadd(x);
step++;
}
if(huiwenshu(x))cout<<"STEP="<<step;
else cout<<"Impossible!";
}