#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

typedef long long ll;

int main(){
	int a[3],m[3];
	while(cin>>a[0]>>m[0]>>a[1]>>m[1]>>a[2]>>m[2]&&!(a[0]==0&&a[1]==0&&a[2]==0&&m[0]==0&&m[1]==0&&m[2]==0)){
		int x,y,z;
		x=y=z=1;
		ll cnt=1;
		int nx=(a[0]*x)%m[0];
		int ny=(a[1]*y)%m[1];
		int nz=(a[2]*z)%m[2];
		x=nx,y=ny,z=nz;
		while(1){
			if(x==1&&y==1&&z==1){
				break;
			}
			nx=(a[0]*x)%m[0];
			ny=(a[1]*y)%m[1];
			nz=(a[2]*z)%m[2];
			x=nx,y=ny,z=nz;
			cnt++;
		}
		cout<<cnt<<endl;
	//	break;
	}

	return 0;
}