import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		// TODO ?????????????????????????????????????????????
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		while(true){
			String tmp = br.readLine();
			
			if(tmp == null){
				break;
			}

			String[] tmpArray = tmp.split(" ");
			int a = Integer.parseInt(tmpArray[0]);
			int b = Integer.parseInt(tmpArray[1]);
			
			//??????a???b??\?????????????????????????????????
			if(b > a){
				int tmpInt = b;
				b = a;
				a = tmpInt;
			}
			//?????§??¬?´???°????±???????
			int GCD = 1;
			
			int j = b;
			while(j > 1){
				if(a%j == 0 && b%j == 0){
					GCD *= j;
					a/=j;
					b/=j;
					j = b;
				}
				else {
					j--;
				}
			}
			
			int LCM = GCD * a * b;
			System.out.println(GCD + " "+ LCM);
		}
	}

}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz