int hw(int ret,int N) { int sum = 0; int n = N * ret; while(n /= N) { sum = sum * N + (n % N); } if (sum == ret) return 0; else return 1; } int add(int M,int N) { int m = N * M; int n = N * M; int count = 0; int sum = 0; while (m /= N) { count++; } while (n /= N) { sum = sum * N + (n % N); } return sum; } int main() { int N, M; int i = 0; int j = 0; scanf("%d %d", &N, &M); int sum,STEP = 0; int ret = M; while (hw(ret,N)) { int a = add(ret,N); ret = ret + a; int b = hw(ret,N); STEP ++; if (STEP > 30) break; } if (STEP > 30) printf("Impossible!"); else printf("%d", STEP); return 0; }
int hw(int ret,int N)
{
int sum = 0;
int n = N * ret;
while(n /= N)
{
sum = sum * N + (n % N);
}
if (sum == ret)
return 0;
else
return 1;
}
int add(int M,int N)
{
int m = N * M;
int n = N * M;
int count = 0;
int sum = 0;
while (m /= N)
{
count++;
}
while (n /= N)
{
sum = sum * N + (n % N);
}
return sum;
}
int main()
{
int N, M;
int i = 0;
int j = 0;
scanf("%d %d", &N, &M);
int sum,STEP = 0;
int ret = M;
while (hw(ret,N))
{
int a = add(ret,N);
ret = ret + a;
int b = hw(ret,N);
STEP ++;
if (STEP > 30)
break;
}
if (STEP > 30)
printf("Impossible!");
else
printf("%d", STEP);
return 0;
}