#include<iostream>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define rep(i,a) loop(i,0,a)
using namespace std;

long long GCD(long long i,long long j){
	long long alt;
	while(j>0){
		alt=j;
		j=i%j;
		i=alt;
	}
	return i;
}

int main(){
	int a[3],m[3];
	while(cin>>a[0]>>m[0]>>a[1]>>m[1]>>a[2]>>m[2],a[0]||a[1]||a[2]||m[0]||m[1]||m[2]){
		int dt[3]={1,1,1};
		long long cnt[3]={0,0,0};
		rep(i,3){
			do{
				dt[i]=a[i]*dt[i]%m[i];
				cnt[i]++;
			}while(dt[i]!=1);
		}
		long long ans,gcd,lcm,lcm2;
		gcd=GCD(cnt[0],cnt[1]);
		lcm=gcd*(cnt[0]/gcd)*(cnt[1]/gcd);
		gcd=GCD(lcm,cnt[2]);
		lcm2=gcd*(lcm/gcd)*(cnt[2]/gcd);
		cout<<lcm2<<endl;
	}
	return 0;
}