#CT00016. Ước vuông (Square Divisor)

Ước vuông (Square Divisor)

Ước vuông (Square Divisor)

Phiên bản: Phước Hưng OJ

Đề bài

Một số nguyên dương được gọi là số chính phương nếu nó là bình phương của một số nguyên không âm. Ví dụ, 1,4,9,161,4,9,16 là các số chính phương.

Cho hai số nguyên dương AA và BB. Một số nguyên dương DD được gọi là ước vuông chung của AA và BB nếu DD đồng thời là ước của AA, là ước của BB và là một số chính phương.

Hãy tìm ước vuông chung lớn nhất của AA và BB.

Input

Một dòng duy nhất chứa hai số nguyên dương A,BA,B.

Output

In ra một số nguyên dương duy nhất là ước vuông chung lớn nhất tìm được.

Subtask

  • Subtask 1 (30%): 1≤A,B≤1061\le A,B\le 10^6.
  • Subtask 2 (40%): 1≤A,B≤10121\le A,B\le 10^{12} và gcd⁡(A,B)≤109\gcd(A,B)\le 10^9.
  • Subtask 3 (30%): 1≤A,B≤10121\le A,B\le 10^{12}.

Ví dụ

Ví dụ 1

Input

72 108

Output

36

Giải thích

3636 chia hết cả 7272 và 108108, đồng thời 36=6236=6^2. Không có số chính phương lớn hơn 3636 là ước chung.

Ví dụ 2

Input

48 180

Output

4

Giải thích

Các ước chung của 4848 và 180180 đều là ước của 1212; số chính phương lớn nhất trong đó là 44.

Ví dụ 3

Input

17 34

Output

1

Giải thích

Ước chung của 1717 và 3434 là 11 và 1717; chỉ có 11 là số chính phương.