Ướ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 a và b.

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 a và b.

Ví dụ, nếu có hai ước chung là 18 và 24 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ố a và b 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 a và b.

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ố a và b 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 a và b.

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...