import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int gcd = 1; // 최대공약수
int lcm = 1; // 최소공배수
int i; // a와 b 중 최소값
if (a == b) {
gcd = a;
lcm = a;
} // a와 b가 같으면, 최대공약수와 최소공배수는 a(b)
else {
i = (a > b) ? b : a;
while (i > 1) {
if ((a % i == 0) && (b % i == 0)) {
gcd *= i;
a /= i;
b /= i;
i = (a > b) ? b : a;
}
else
i--;
}
lcm = gcd * a * b;
}
System.out.println(gcd+"\n"+lcm);
sc.close();
}
}