#include <iostream>
using namespace std;
long long lcm(long long, long long);
long long gcd(long long, long long);
int main() {
	int a1, m1, a2, m2, a3, m3;
	long long x, y, z;
	while(cin >> a1 >> m1 >> a2 >> m2 >> a3 >> m3, a1 && m1 && a2 && m2 && a3 && m3) {
		x = y = z = 1;
		for(int i = a1 % m1; i != 1; i = i * a1 % m1) x++;
		for(int i = a2 % m2; i != 1; i = i * a2 % m2) y++;
		for(int i = a3 % m3; i != 1; i = i * a3  %m3) z++;
		cout << lcm(lcm(x, y), z) << endl;
	}
}

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

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