Ước số của Boingheo ✨

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Authors:
Problem type

Boingheo rất thích chơi với những con số. Một hôm, bạn ấy nghĩ ra một trò chơi nhỏ với hai số nguyên ab.

Boingheo sẽ tìm tất cả các số nguyên dương d có thể chia hết cả a lẫn b. Tuy nhiên, thay vì chọn ước chung lớn nhất như bình thường, Boingheo lại đặt ra một luật đặc biệt hơn: số d được chọn phải có tổng các chữ số lớn nhất trong tất cả các ước chung của ab.

Ví dụ, nếu có hai ước chung là 1824 thì Boingheo sẽ thích 18 hơn vì tổng các chữ số của nó là 1 + 8 = 9, trong khi của 24 chỉ là 2 + 4 = 6.

Một số nguyên dương d được gọi là ước số chung đặc biệt của hai số ab nếu:

  • a chia hết cho d;
  • b chia hết cho d;
  • tổng các chữ số của d là lớn nhất trong tất cả các ước chung của ab.

Hãy giúp Boingheo tìm tổng các chữ số của ước số chung đặc biệt của hai số ab nhé 😜

Input

Trong một dòng duy nhất ghi hai số nguyên:

a, b (1 ≤ a, b ≤ 10^9).

Output

In ra một số nguyên duy nhất là tổng các chữ số của ước số chung đặc biệt của ab.

Input

220 440

Output

10

Giải thích

Ta có:

220 và 440 có các ước chung là: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, 220.

Tổng các chữ số của một số ước chung tiêu biểu:

  • 44 có tổng chữ số là 4 + 4 = 8.
  • 55 có tổng chữ số là 5 + 5 = 10.
  • 110 có tổng chữ số là 1 + 1 + 0 = 2.
  • 220 có tổng chữ số là 2 + 2 + 0 = 4.

Ước chung có tổng các chữ số lớn nhất là 55, với tổng bằng: 10


Loading...