//求奇偶数
// Scanner scanner=new Scanner(System.in);
// System.out.println("please input a number of int");
// int a=scanner.nextInt();
// System.out.println((a&1)==0?a+"是偶数":a+"是奇数");
//求素数
// int count=0;
// int[] prime=new int[100];
// for(int i=2;i<100;i++)
// {
// boolean isPrime=true;
// for(int j=0;j<count;j++)
// {
// if(i%prime[j]==0)
// {
// isPrime=false;
// break;
// }
// }
// if(isPrime)
// {
// prime[count++]=i;//存放的所有的素数
// System.out.println("素数:"+i);
// }
//
// }
// System.out.println("素数个数是"+count);
//求最大公约数
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
int b=scanner.nextInt();
int x=a,y=b;
int m=0;
while(a%b!=0)
{
m=a%b;
a=b;
b=m;
}
System.out.println("最大公约数是"+m);
System.out.println("最小倍数是"+x*y/m);