[C10_NA_23] Tổng nhỏ nhất

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Trong tiết học môn Toán về chủ đề tìm ước chung lớn nhất (UCLN), bội chung nhỏ nhất (BCNN) của hai số nguyên dương ~A,\ B~, Bình dễ dàng tìm được ~UCLN(a, b)~ là ~m~, ~BCNN(a, b)~ là ~n~. Hôm nay, cô giáo đưa ra bài toán sau: "Cho trước hai số nguyên dương ~m~ và ~n~. Nếu tìm được một hoặc nhiều cặp số ~(A, B)~ thoả mãn ~UCLN(A, B) = m,\ BCNN(A, B) = n~ thì đưa ra giá trị nhỏ nhất của tổng ~A + B~, ngược lại đưa ra ~-1~". Bình đang loay hoay tìm cách giải. Bạn hãy giúp Bình giải bài toán trên.

Yêu cầu

Tìm giá trị nhỏ nhất của tổng ~A + B~, nếu không tìm được cặp số ~(A, B)~ nào thì in ra ~-1~.

Dữ liệu đầu vào

Gồm một dòng chứa hai số nguyên dương ~m,\ n~ ~(1 \le m \le n \le 10^{12})~.

Dữ liệu đầu ra

Gồm một số nguyên là kết quả tìm được.

Ràng buộc dữ liệu

  • 60% số test với ~1 \le m \le n \le 10^6~;
  • 20% số test với ~10^6 < m \le n \le 10^9~;
  • 20% số test với ~10^9 < m \le n \le 10^{12}~.

Ví dụ

Ví dụ 1
INPUT
2 10
OUTPUT
12

Giải thích: Có cặp ~(2, 10)~ thoả mãn ~UCLN(2, 10) = 2~, ~BCNN(2, 10) = 10~, tổng nhỏ nhất ~A + B = 12~.

Ví dụ 2
INPUT
2 20
OUTPUT
14

Giải thích: Có hai cặp ~(2, 20)~ và ~(4, 10)~ thoả mãn, tổng nhỏ nhất ~A + B = 14~.

Ví dụ 3
INPUT
3 5
OUTPUT
-1

Giải thích: Không tìm được cặp số ~(A, B)~ thoả mãn.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.