#include<iostream>
#include<cmath>
#include<vector>
#include<algorithm>
#define int long long
using namespace std;
const int N=1e6+5;
string a;
int b;
vector<int>v;
int mo[N];
signed main()
{
cin>>a>>b;
int len=a.size();
v.push_back(b);
for(int i=sqrt(b);i>=1;i--)
{
if(b%i!=0) continue;
if(i==sqrt(b)) v.push_back(i);
v.push_back(b/i),v.push_back(i);
}
sort(v.begin(),v.end());
int ans=0;
mo[1]=10%b;
mo[0]=1;
for(int i=2;i<=len;i++) mo[i]=(mo[i-1]*mo[1])%b;
for(int i=v.size()-1;i>=0;i--)
{
int tmp=v[i];
int j=len-1;
int res=0;
while(j>=0)
{
res=(res+(a[j]-'0')*mo[len-1-j]%tmp)%tmp;
j--;
}
if(res==0)
{
ans=tmp;
break;
}
}
cout<<ans;
return 0;
}