두 자연수의 최대공약수(GCD)는 두 수를 모두 나머지 없이 나누는 가장 큰 자연수이다. 예를 들어 8과 12의 최대공약수는 gcd(8,12)=4이다. 4가 8과 12를 동시에 나누는 가장 큰 정수이기 때문이다. (8과 12의 공약수는 1,2,4이다.)
자연수의 팩토리얼은 그 수 이하의 모든 양의 정수를 곱한 값이다. 예를 들어 5의 팩토리얼은 5!=1×2×3×4×5=120이다. (단, 0!=1로 정의한다.)
두 수 n과 k가 주어질 때, n!과 k의 최대공약수를 구하는 프로그램을 작성하시오. 예를 들어 n=3, k=10이면 gcd(n!,k)=gcd(3!,10)=gcd(6,10)=2이다.
입력은 여러 줄로 이루어진다. 각 줄에는 두 정수 n과 k가 공백으로 구분되어 하나씩 주어지며, 입력은 파일의 끝까지 계속된다. (0≤n≤1,000,000,000, 1≤k≤1,000,000,000)
입력의 각 줄에 대해 n!과 k의 최대공약수를 한 줄에 하나씩 출력한다.