#include<iostream>
using namespace std;

long long int countRepeated( long long int a, long long int b, long long int c )
{
    long long int cnt = 1;
    c = c * a % b;
    while( c != 1 )
    {
        cnt++;
        c = c * a % b;
    }
    return cnt;
}

long long int GCD( long long int a, long long int b )
{
    return a % b == 0 ? b : 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)
    {
        long long int sum = 0;
        for( long long int i = 0; i < 6; i++ )
        {
            cin >> a[i];
            sum += a[i];
        }

        if( !sum )
            break;

        long long int x = countRepeated( a[0], a[1], 1 );
        long long int y = countRepeated( a[2], a[3], 1 );
        long long int z = countRepeated( a[4], a[5], 1 );        

        cout << LCM( LCM( x, y ), z ) << endl;
    }

    return 0;
}
