#include<iostream>
using namespace std;
int main(){
	int a[3],m[3];
	while(true){
		for(int i=0;i<3;i++)cin>>a[i]>>m[i];
		if(a[0]==0)break;
		int cnt[3];
		for(int i=0;i<3;i++){
			cnt[i]=1;
			int x=1;
			while(true){
				x=x*a[i]%m[i];
				if(x==1)break;
				cnt[i]++;
			}
		}
		long long s=min(cnt[0],cnt[1]);
		while(true){
			bool ok=true;
			for(int i=0;i<2;i++)if(cnt[i]%s!=0)ok=false;
			if(ok)break;
			s--;
		}
		s=cnt[0]*cnt[1]/s;
		long long k;
		if(s<cnt[2])k=s;else k=cnt[2];
		while(true){
			bool ok=true;
			if(s%k!=0||cnt[2]%k!=0)ok=false;
			if(ok)break;
			k--;
		}
		cout<<s*cnt[2]/k<<endl;
	}
	return 0;
}