#include <bits/stdc++.h>
using namespace std;
long long p;
map<long long,bool>mp;
long long ksm(long long x,long long y){
long long ans=1;
while(y){
if (y%2==1) ans=ans*x%p;
x=x*x%p;
y=y/2;
}
return ans;
}
int main(){
long long a,b;
cin>>p>>a>>b;
if (1%p==b%p){
cout<<0<<endl;
return 0;
}
long long q=ceil(sqrt(p)),rt=b%p;
for(int i=0;i<q;i++){
mp[b*rt%p]=i;
rt=(rt*a)%p;
}
long long ut=ksm(a,q);
long long val=ut;
for(int i=1;i<=q;i++){
if (mp[val]){
cout<<i*q-mp[val]<<endl;
return 0;
}
val=val*ut%p;
}
cout<<"no solution"<<endl;
return 0;
}