#include <iostream>
#include <algorithm>
using namespace std;

typedef long long int lli;

int a[3], m[3];

lli gcd(lli a, lli b) {
  if(b == 0) return a;
  return gcd(b, a%b);
}

lli lcm(lli a, lli b) {
  return a / gcd(a, b) * b;
}

void solve() {
  int t[3];
  lli T[3];
  fill(t, t+3, 1);
  fill(T, T+3, 0);
  for(lli i = 1; ; ++i) {
    for(int j = 0; j < 3; ++j) {
      if(T[j]) continue;
      t[j] = a[j]*t[j] % m[j];
      if(t[j] == 1) T[j] = i;
    }
    if(T[0] && T[1] && T[2]) break;
  }

  cout << lcm(lcm(T[0], T[1]), T[2]) << endl;
}

main() {
  while(1) {
    bool allzero = true;
    for(int i = 0; i < 3; ++i) {
      cin >> a[i] >> m[i];
      if(a[i] != 0 || m[i] != 0) allzero = false;
    }
    if(allzero) break;
    solve();
  }
}