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

public class Main {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String input;
        try {
            while((input = reader.readLine()) != null){
                String[] inputArray = input.split(" ");
                int a = Integer.parseInt(inputArray[0]);
                int b = Integer.parseInt(inputArray[1]);
                int aa = a;
                int bb = b;
                if(bb>aa){
                    int tmp = aa;
                    aa = bb;
                    bb = tmp;
                }
                int mod = aa % bb;
                while(mod != 0){
                    aa = bb;
                    bb = mod;
                    mod = aa % bb;
                }
                System.out.println(bb+" "+(a/bb*b));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
/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