#include<iostream>
using namespace std;
long long lcm(long long a, long long b);
long long gcd(long long a, long long b);
int main(){
  long long a[3],b[3],c[3];
  while(cin>>a[0]>>b[0]>>a[1]>>b[1]>>a[2]>>b[2],a[0]||b[0]||a[1]||b[1]||a[2]||b[2]){
    for(int i=0,x; i<3; i++){
      for(c[i]=1,x=1;; c[i]++){
	x = x*a[i]%b[i];
	if(x == 1){break;}
      }
    }
    cout <<lcm(c[0],lcm(c[1],c[2]))<<endl;
  }
  return 0;
}
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(!b){return a;}
  return gcd(b,a%b);
}