#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000;
int a[maxn]={0},b[maxn]={0},c[maxn]={0},N;
bool check(string s)
{
string ss(s.rbegin(),s.rend());
return ss == s;
}
int main()
{
string s,num;
cin>>N>>s;
int ans = 0;
while(!check(s))
{
string ss(s.rbegin(),s.rend());
int len = max(s.length(),ss.length());
for(int i = s.length()-1,j=0;i>=0;i--,j++)
{
a[j] = s[i] - '0';
}
for(int i = ss.length()-1,j=0;i>=0;i--,j++)
{
b[j] = ss[i] - '0';
}
for(int i = 0;i<len;i++)
{
c[i] += (a[i] + b[i]);
c[i+1] += c[i]/N;
c[i] %= N;
}
if(c[len])
len++;
s.clear();
for(int i = len-1;i>=0;i--)
{
char ch = c[i] + '0';
s+=ch;
}
cout<<s<<endl;
ans++;
memset(c,0,sizeof(c));
if(ans==30)
{
cout<<"Impossible!";
return 0;
}
}
cout<<"STEP="<<ans;
}
/*Written by HBQS!*/
一开始没审好题 漏看了还要求一个16进制 写完后发现16进制的情况很难处理 不想改成int数组重新录入 有佬能看看怎么修改好么?