#include <bits/stdc++.h>
using namespace std;
int M[100100];
int main() {
  int t = 99999999, p, q, r, s, a, b, m, arr[100100], i = 1;
  scanf("%d%d%d%d", &a, &b, &m, &arr[1]);
  M[arr[1]] = 1;
  for (i = 2; i <= m + 1; i++) {
    arr[i] = (a * arr[i - 1] + b) % m;
    if (M[arr[i]]) {
      t = min(t, i - M[arr[i]]);
      break;
    }
    M[arr[i]] = i;
  }
  printf("%d\n", t);
}
