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

typedef long long lli;

lli a[3], m[3], t[3];

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

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

int main() {
  while(1) {
    bool flag = false;
    for(int i = 0; i < 3; ++i) {
      cin >> a[i] >> m[i];
      if(a[i] == 0 && m[i] == 0); else flag = true;
    }
    if(!flag) break;
    for(int i = 0; i < 3; ++i) {
      lli x = 1;
      t[i] = 0;
      do {
        x = a[i]*x%m[i];
        ++t[i];
      } while(x != 1);
    }
    cout << lcm(lcm(t[0],t[1]),t[2]) << endl;
  }
  return 0;
}