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

int lcm(int a, int b) {
	return a * b / __gcd(a, b);
}

int lcm(int a, int b, int c) {
	return lcm(lcm(a, b), c);
}

int main() {
    int a1, m1, a2, m2, a3, m3;
    while (cin >> a1 >> m1 >> a2 >> m2 >> a3 >> m3) {
        if (a1 == 0 && m1 == 0 && a2 == 0 && m2 == 0 && a3 == 0 && m3 == 0) break;
		int cx = 0, cy = 0, cz = 0;
        int x = 1, y = 1, z = 1;
        while (true) {
            x = a1 * x % m1; cx++;
			if (x == 1) break;
		}
		while (true) {
            y = a2 * y % m2; cy++;
			if (y == 1) break;
		}
		while (true) {
            z = a3 * z % m3; cz++;
			if (z == 1) break;
		}
		cout << lcm(cx, cy, cz) << endl;
    }
    return 0;
}