#include <iostream>
typedef long long llong;
using namespace std;
llong gcd(llong a, llong b)
{
    if (b == 0) return a;
    return gcd(b, a % b);
}
llong lcm(llong a, llong b)
{
    return a * b / gcd(a, b);
}
int main()
{
    llong a1, m1, a2, m2, a3, m3, x1, x2, x3;
    while (true) {
        cin >> a1 >> m1 >> a2 >> m2 >> a3 >> m3;
        if (!(a1 | m1 | a2 | m2 | a3 | m3)) break;
        llong r1, r2, r3;
        r1 = r2 = r3 = 0;
        x1 = x2 = x3 = 1;
        do { x1 = x1 * a1 % m1; r1++; } while (x1 != 1);
        do { x2 = x2 * a2 % m2; r2++; } while (x2 != 1);
        do { x3 = x3 * a3 % m3; r3++; } while (x3 != 1);
        cout << lcm(lcm(r1, r2), r3) << endl;
    }
    return 0;
}