#include<cstdio>
#include<cstring>
using namespace std;
char*strrev(char*s){
int len=strlen(s);
for(int i=0;i<len/2;i++){
char temp=s[i];
s[i]=s[len-i-1];
s[len-i-1]=temp;
}
return s;
}
int cti[127+1];
char itc[16];
void init(){
cti['0']=0;
cti['1']=1;
cti['2']=2;
cti['3']=3;
cti['4']=4;
cti['5']=5;
cti['6']=6;
cti['7']=7;
cti['8']=8;
cti['9']=9;
cti['A']=10;
cti['B']=11;
cti['C']=12;
cti['D']=13;
cti['E']=14;
cti['F']=15;
itc[0]='0';
itc[1]='1';
itc[2]='2';
itc[3]='3';
itc[4]='4';
itc[5]='5';
itc[6]='6';
itc[7]='7';
itc[8]='8';
itc[9]='9';
itc[10]='A';
itc[11]='B';
itc[12]='C';
itc[13]='D';
itc[14]='E';
itc[15]='F';
}
bool STEP(int N,char*M){
char add1[101],add2[101],sum[101];
strcpy(add1,M);
strcpy(add2,M);
strrev(add2);
int x=0;
for(int i=0;i<strlen(add1);i++){
int a1=cti[add1[i]],a2=cti[add2[i]];
sum[i]=a1+a2+x;
x=sum[i]/N;
sum[i]%=N;
sum[i]=itc[sum[i]];
}
if(x!=0)sum[strlen(add1)]=itc[x];
strcpy(M,sum);
strrev(M);
printf("%s+%s=%s\n",add1,add2,M);
return strcmp(M,sum)==0;
}
int main(){
init();
int N;
char M[101];
scanf("%d%s",&N,&M);
for(int ans=1;ans<=30;ans++)
if(STEP(N,M)){
printf("STEP=%d",ans);
return 0;
}
printf("Impossible!");
return 0;
}