WA
#include<iostream>
#include<map>
#include<cmath>
using namespace std;
#define ll __int128
map <ll,ll> vis;
ll mul(ll a,ll b,ll p){
ll ans=0;
while(b){
if(b&1) ans=(ans+a)%p;
a=(a<<1)%p;
b>>=1;
}
return ans;
}
ll qpmod(ll a,ll b,ll p){
ll ans=1%p;
while(b){
if(b&1) ans=mul(ans,a,p);
a=mul(a,a,p);
b>>=1;
}
return ans;
}
int main(){
long long B,P;
cin>>B>>P;
ll b=B,p=P;
ll a=10;
b=b*9+1;
b%=p;
a%=p;
ll num=sqrt((long long)p);
vis[1]=0;
ll a_num=qpmod(a,num,p),now=a_num;
for(ll i=num;i<=p;i+=num){
vis[now]=i;
now=mul(now,a_num,p);
}
now=1;
for(ll i=0;i<num;i++){
if(vis.count(mul(b,now,p))){
cout<<(long long)(vis[mul(b,now,p)]-i);
return 0;
}
now=mul(now,a,p);
}
cout<<"no solution";
}