100 atcoder#ABC142D. [ABC142D] Disjoint Set of Common Divisors

[ABC142D] Disjoint Set of Common Divisors

题目描述

正整数 A, B A,\ B が与えられます。

A A B B の正の公約数の中からいくつかを選びます。

ただし、選んだ整数の中のどの異なる 2 2 つの整数についても互いに素でなければなりません。

最大でいくつ選べるでしょうか。

公約数とは整数 d d が整数 x x と整数 y y の公約数であるとは、d d x x y y をともに割り切ることをいいます。

互いに素とは整数 x, y x,\ y が互いに素であるとは、x, y x,\ y の正の公約数が 1 1 のみであることをいいます。

割り切るとは整数 x x が整数 y y を割り切るとは、y = α x y\ =\ \alpha\ x なる整数 α \alpha が存在することをいいます。

输入格式

入力は以下の形式で標準入力から与えられる。

A A B B

输出格式

条件を満たすように選べる整数の個数の最大値を出力せよ。

题目大意

给你两个数A和B,寻找能同时整除两个数,且两两互质的数的个数。

12 18
3
420 660
4
1 2019
1

提示

制約

  • 入力は全て整数である。
  • 1  A, B  1012 1\ \leq\ A,\ B\ \leq\ 10^{12}

Sample Explanation 1

12 12 18 18 の正の公約数は 1, 2, 3, 6 1,\ 2,\ 3,\ 6 です。 1 1 2 2 2 2 3 3 3 3 1 1 は互いに素なので、1, 2, 3 1,\ 2,\ 3 を選ぶことができ、このときが最大です。

Sample Explanation 3

1 1 2019 2019 の正の公約数は 1 1 しかありません。