def solve(a):
s=0
for i in range(len(a)):
s+=a[i]*n**(len(a)-1-i)
return s
def resolve(b):
x=[]
while b:
a=b%n
x.append(a)
b=b//n
x.reverse()
return x
def ishui(k):
c=len(k)
s=0
for i in range(0,c):
if k[i]==k[c-1-i]:
s+=1
if s==c:
return 0
else:
return 1
n=int(input())
m1=input()
m=[int(m1[i]) for i in range(len(m1))]
pt=0
while ishui(m):
if pt>=30:
print('Impossible!')
break
m=resolve(solve(m)+solve(list(reversed(m))))
pt+=1
if pt<30:
print('STEP=%d'%pt)