Point: 100.0
Time limit: 1.0s
Memory limit: 64 M
Input: stdin
Output: stdout
Problem type
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text

Một cặp số được gọi là thân thiết nếu số này bằng tổng tất cả các ước thực sự của số kia và ngược lại (các ước thực sự của một số là các ước số nguyên dương bé hơn chính nó).

VD: 220 và 284 là cặp số thân thiết vì tổng các ước số của 220 là: 1+2+4+5+10+11+20+22+44+55+110=284 và tổng các ước số của 284 là 1+2+4+71+142=220.

Yêu cầu:

  • Hãy viết chương trình kiểm tra xem 2 số nhập vào có phải là số thân thiết hay không. Nếu phải thì in ra YES, ngược lại in ra NO.

Input:

  • Một dòng ghi 2 số nguyên a, b (\(0 < a, b <= 10^9\)).

Output:

  • Dòng thứ nhất in ra YES nếu a, b là số thân thiết và in ra NO nếu ngược lại.
  • Dòng thứ hai ghi ra tổng các ước thực sự của hai số a, b; mỗi giá trị cách nhau một dấu cách trống.

Ví dụ

input1

    220 284

output1

    YES
    284 220

input2

    20 12

output2

    NO
    22 16