#include <bits/stdc++.h>
using namespace std;
int main() {
  long long a, b, p, x;
  scanf("%I64d%I64d%I64d%I64d", &a, &b, &p, &x);
  long long aa = 1;
  for (int i = 0; i < p - 2; i++) aa = aa * a % p;
  long long ans = 0;
  long long bb = b;
  long long ii;
  for (int j = 0; j < p - 1; j++) {
    ii = j - bb;
    if (ii < 0) ii = ii + p;
    if (x >= j && (p - 1) * ii + j <= x) {
      ans += ((x - j) / (p - 1) - ii) / p + 1;
      if (ii == 0 && j == 0) ans--;
    }
    bb = bb * aa % p;
  }
  printf("%I64d\n", ans);
}
