본문으로 바로가기
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();
	}
}