#include //#include //#pragma GCC optimize("Ofast") using namespace std; #define reps(i,s,n) for(int i = s; i < n; i++) #define rep(i,n) reps(i,0,n) #define Rreps(i,n,e) for(int i = n - 1; i >= e; --i) #define Rrep(i,n) Rreps(i,n,0) #define ALL(a) a.begin(), a.end() using ll = long long; using vec = vector; using mat = vector; ll N,M,H,W,Q,K,A,B; string S; using P = pair; const ll INF = (1LL<<60); template bool chmin(T &a, const T b){ if(a > b) {a = b; return true;} else return false; } template bool chmax(T &a, const T b){ if(a < b) {a = b; return true;} else return false; } template void my_printv(std::vector v,bool endline = true){ if(!v.empty()){ for(std::size_t i{}; i= 5) return 2000; ll pw = gutyoku(n - 1), res = 1; while(pw--){ if((res *= A) > 2000) return 2000; } return res; } ll solve(int n, ll soko, ll mod){ if(n == 0 || mod == 1) return mod != 1; ll raw = gutyoku(n); if(raw < soko) return raw; vec As(1, 1), used(mod, -1); used[1] = 0; ll now = A % mod; while(used[now] == -1){ used[now] = 1; As.push_back(now); (now *= A) %= mod; } ll pw = solve(n - 1, used[now], (int)As.size() - used[now]); return pw < used[now] ? As[pw] : As[used[now] + (pw - used[now]) % ((int)As.size() - used[now])]; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); cin>>A>>N>>M; if(A == 1 || N == 0) cout<<(M != 1)<