#define max(a,b) (((a)>(b))?(a):(b))
#define min(a,b) (((a)<(b))?(a):(b))
#define log(x) printf(#x": %d\n",x)
int gcm(int a, int b) {
	int r = min(a, b);
	while (r) {
		if (a%r == 0 && b%r == 0) break;
		r--;
	}
	return r;
}
int lcm(int a, int b) {
	int r = max(a, b);
	while (r <= a*b) {
		if (r%a == 0 && r%b == 0) break;
		r++;
	}
	return r;
}
main() {
	int a, b;
	scanf("%d %d", &a, &b);
	log(a);
	log(b);
	log(gcm(a, b));
	log(lcm(a, b));
	log(gcm(11, 10));
	log(lcm(11, 10));
}