#include <stdio.h>
int gcd(int a, int b)
{
return !b?a:gcd(b,a%b); //b=0,返回a,b!=0,返回,a和a%b取余的最大公约数
}
int lcm(int a, int b)
{
return a*b/gcd(a, b); //求a,b得最小公倍数,a乘b除以最大公约数
}
int main()
{
int a,b,c;
scanf("%d%d%d", &a, &b, &c);
printf("%d\n", gcd(a, b)); //求a,b最大公约数
printf("%d\n", gcd(gcd(a, b), c)); //求a,b,c最大公约数
printf("%d\n", lcm(a, b)); //求a,b最小公倍数
printf("%d\n", lcm(lcm(a, b), c));//求a,b,c最小公倍数
return 0;
}
int gcd(int a, int b)
{
return !b?a:gcd(b,a%b); //b=0,返回a,b!=0,返回,a和a%b取余的最大公约数
}
int lcm(int a, int b)
{
return a*b/gcd(a, b); //求a,b得最小公倍数,a乘b除以最大公约数
}
int main()
{
int a,b,c;
scanf("%d%d%d", &a, &b, &c);
printf("%d\n", gcd(a, b)); //求a,b最大公约数
printf("%d\n", gcd(gcd(a, b), c)); //求a,b,c最大公约数
printf("%d\n", lcm(a, b)); //求a,b最小公倍数
printf("%d\n", lcm(lcm(a, b), c));//求a,b,c最小公倍数
return 0;
}