#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
long long int GCD(long long int a,long long int b){
    if(b==0)return a;
    return GCD(b,a%b);
}
long long int LCM(long long int a,long long int b){
    return (a*b)/GCD(a,b);
}
int main(){
    long long int a[6];
    while(1){
        for(int i=0;i<6;i++)cin>>a[i];
        if(!a[0])break;
        long long int nowti[3]={1,1,1},n[3];
        for(int i=0;i<3;i++){
            for(int j=0;;j++){
                nowti[i]=nowti[i]*a[i*2]%a[i*2+1];
                if(nowti[i]==1){
                    n[i]=j+1;
                    break;
                }
            }
        }
        cout<<LCM(n[0],LCM(n[1],n[2]))<<endl;
    }
    return 0;
}