import sys
a,b=map(int,sys.stdin.readline().split())
alis=[]
blis=[]
for i in range(1,a+1) :
if a%i==0:
alis.append(i)
for i in range(1,b+1) :
if b%i==0:
blis.append(i)
if (set(alis)&set(blis)) :
maxyaksu = (max(set(alis)&set(blis)))
else :
maxyaksu=0
print(int(maxyaksu))
print(int(maxyaksu*(a//maxyaksu)*(b//maxyaksu)))
import sys
a,b=map(int,sys.stdin.readline().split())
alis=[]
blis=[]
for i in range(2,a+1) :
if a%i==0:
alis.append(i)
for i in range(2,b+1) :
if b%i==0:
blis.append(i)
maxyaksu = (max(set(alis)&set(blis)))
print(int(maxyaksu))
print(int(maxyaksu*(a//maxyaksu)*(b//maxyaksu)))
=> 바로바로 합집합이 없는 경우를 고려하지 않았기 때문! wow
import math
a, b = map(int, input().split())
print(math.gcd(a, b))
print(math.lcm(a, b))
쉬운 문제라도 항상 배울 점이 존재한다, 감사하다