func_code_string: #include <bits/stdc++.h>   using namespace std;   const int SIZE = 1000;   long long a, b, p, x;   long long qpow(long long x, long long y, long long MOD) {     long long res = 1;     while (y) {       if (y & 1) res = (res * x) % MOD;       x = (x * x) % MOD;       y = y >> 1;     }     return res;   }   int main() {     scanf( %lld%lld%lld%lld , &a, &b, &p, &x);     long long ans = 0;     for (long long i = 1; i < p; i++) {       long long tp = qpow(a, i, p);       long long invt = qpow(tp, p - 2, p);       long long invp = qpow(p - 1, p - 2, p);       long long y = ((b * invt - i + p) % p * invp) % p;       long long ty = (x - i) / (p - 1);       if (i + y * (p - 1) > x) continue;       long long anst = (ty - y) / p + 1;       ans = ans + anst;     }     printf( %lld n , ans);     return 0;   }   