func_code_string: #include <bits/stdc++.h>   using namespace std;   long long a, b, p, x;   long long Pow(long long x, long long y, long long mod) {     if (!y) return 1;     if (y == 1) return x % mod;     long long t = Pow(x, y >> 1, mod), ans = t * t % mod;     if (y & 1) ans = ans * x % mod;     return ans;   }   int main() {     while (scanf( %lld %lld %lld %lld , &a, &b, &p, &x) != EOF) {       long long P = p * (p - 1), ans = 0;       for (long long i = 1; i < p; i++) {         long long r = b * Pow(Pow(a, i, p), p - 2, p) % p, c;         if (i >= r)           c = (i + (i - r) * (p - 1)) % P;         else           c = (i + (i + p - r) * (p - 1)) % P;         if (!c) c = P;         ans += ((x / P) + ((x % P >= c) ? 1 : 0));       }       printf( %lld n , ans);     }   }   