E. Giúp bạn Minh


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 256M

Problem type

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 AB 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!B!.

Input

  • Một dòng chứa hai số nguyên AB (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!B!. Do ước chung lớn nhất của A!B! có thể rất lớn nên ghi kết quả chia dư cho 109 + 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

There are no comments at the moment.