#include <stdio.h>
int m, n;
bool oka= false, okb= false;
void dfs( int a, int b, int c )
{
if( c> 100 ) return;
else if( b== 1 )
{
if( a== 1 ) oka= true;
else okb= true;
}
if( a% c== 0 ) dfs( a/ c, b, c+ 1 );
if( b% c== 0 ) dfs( a, b/ c, c+ 1 );
dfs( a, b, c+ 1 );
}
int main()
{
while( scanf("%d%d", &m, &n )!= EOF )
{
int t;
if( m< n ) t= m, m= n, n= t;
oka= okb= false;
dfs( m, n, 2 );
if( oka ) printf("%d\n", m );
else if( okb ) printf("%d\n", n );
else printf("%d\n", m );
}
return 0;
}
posted on 2008-11-14 14:04
Darren 阅读(789)
评论(0) 编辑 收藏 引用