#include <bits/stdc++.h>
using namespace std;
const int N = 1e7;
bool exist[N];
int main() {
  long long a, b, m, r;
  cin >> a >> b >> m >> r;
  long long prv = r;
  while (true) {
    prv = (a * prv + b) % m;
    if (exist[prv]) {
      break;
    }
    exist[prv] = true;
  }
  set<long long> st;
  st.insert(prv);
  while (true) {
    prv = (a * prv + b) % m;
    long long s = st.size();
    st.insert(prv);
    if (st.size() == s) {
      break;
    }
  }
  cout << st.size();
}
