import java.util.Scanner;
public class Main3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
System.out.println(fun1(a,b));
System.out.println(fun2(a,b));
}
//计算最大公约数
private static int fun1(int a, int b){
int num = 1;
for (int i=1; i<=a && i<=b; i++){
if (a%i==0 && b%i==0){
num = i;
}
}
return num;
}
//计算最小公倍数
public static int fun2(int m, int n) {
//将m,n转化成最大公约数为1,那之后他们的乘积就是代表最小公倍数
return n * m / fun1(m, n);
}
}