/*******************************************/
/* gcd - recursive greatest common divisor */
/*******************************************/

int gcd ( int u, int v )    /* recursive gcd via Euclid */
{
    int g;
    g = v;
    if (v != 0)
        g = gcd (v, u - u/v*v);  /* u - u/v*v = u mod v */
    return g;
}

void main ( void )    /* main routine to drive gcd */
{
    int x;
    int y;
    x = input ( );
    while (x > 0)
    {
        y = input ( );
        output ( gcd ( x, y ) );
        x = input ( );
    }
}
