import java.util.Scanner;

public class Main {

	public static Scanner scanner = new Scanner(System.in);

	public static void main(String[] args) {

		while (scanner.hasNext()) {

			long tempA = input();
			long tempB = input();

			long a;
			long b;
			long r;
			long lcm;

			if (tempB <= tempA) {

				a = tempA;
				b = tempB;

			} else {

				a = tempB;
				b = tempA;

			}

			while ((r = a % b) != 0) {

				a = b;
				b = r;

			}

			lcm = tempA * tempB / b;

			System.out.print(b);
			System.out.print(" ");
			System.out.println(lcm);

		}

		close();

	}

	public static long input() {

		return scanner.nextLong();

	}

	public static void close() {

		if (scanner != null) {

			scanner.close();

		}
	}
}
/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