E. Giúp bạn Minh
Minh trong lúc rảnh rỗi đã nghĩ ra một nhiệm vụ cho bản thân để thư giãn một chút.
Anh ta chọn hai số nguyên A và B rồi tính ước số chung lớn nhất
của các số nguyên "A giai thừa" và "B giai thừa". Minh muốn tìm ra gcd(A!, B!).
Ai cũng biết rằng giai thừa của số nguyên x là tích của tất cả các số nguyên dương nhỏ hơn hoặc bằng x:
x! = 1 × 2 × 3 × … × (x - 1) × x. Ví dụ 4! = 1 × 2 × 3 × 4 = 24.
Yêu cầu: Hãy giúp Minh tìm ước chung lớn nhất của A! và B!.
Input
- Một dòng chứa hai số nguyên
AvàB(1 ≤ A, B < 105). Mỗi số cách nhau một khoảng trắng.
Output
- Một số nguyên dương là ước số chung lớn nhất của các số nguyên
A!vàB!. Do ước chung lớn nhất củaA!vàB!có thể rất lớn nên ghi kết quả chia dư cho109 + 7.
Scoring
- 50% test tương ứng 50% số điểm của bài với
1 ≤ A, B < 105,min(A, B) ≤ 12. - 30% test tương ứng 30% số điểm của bài với
A, B ≤ 100. - 20% test còn lại với
A, B < 105.
Example
input
4 3
output
6
Comments