#include<iostream>
#include<algorithm>
using namespace std;
int main() {
	long long a1, m1, a2, m2, a3, m3;
	while (true) {
		cin >> a1 >> m1 >> a2 >> m2 >> a3 >> m3;
		if (a1 + m1 + a2 + m2 + a3 + m3 == 0) {
			break;
		}
		long long a = 0, b = 0, c = 0;
		long long x1 = 1, y1 = 1, z1 = 1;
		while (x1 != 1||a==0) {
			x1 = (a1*x1) % m1;
			a++;
		}
		while (y1 != 1||b==0) {
			y1 = (a2*y1) % m2;
			b++;
		}
		while (z1 != 1||c==0) {
			z1 = (a3*z1) % m3;
			c++;
		}
		long long a2 = min(a,b), b2 = max(a,b), c2 = c;
		while (a != 0) {
			int c = b;
			b = a;
			a = c%a;
		}
		b = (b*(a2 / b)*(b2 / b));
		b2 = b;
		a = min(c, b);
		b = max(b, c);
		while (a != 0) {
			int c = b;
			b = a;
			a = c%a;
		}
		b = (b*(c2 / b)*(b2 / b));
		cout << b << endl;
	}
}