AT_arc148_a [ARC148A] mod M

Description

[problemUrl]: https://atcoder.jp/contests/arc148/tasks/arc148_a 数列 $ A\ =\ (A_1,\ A_2,\ ...,\ A_N) $ が与えられます。 あなたは次の操作をちょうど $ 1 $ 回行うことができます。 - $ 2 $ 以上の整数 $ M $ を $ 1 $ つ選ぶ。その後、$ 1\ \leq\ i\ \leq\ N $ を満たすすべての整数 $ i $ に対して、 $ A_i $ を 「$ A_i $ を $ M $ で割ったあまり」に置き換える。 例えば $ A\ =\ (2,\ 7,\ 4) $ で $ M\ =\ 4 $ を選んだ時、操作後の $ A $ は $ (2\ \bmod\ 4,\ 7\ \bmod\ 4,\ 4\ \bmod\ 4)\ =\ (2,\ 3,\ 0) $ になります。 操作を行った後の $ A $ に含まれる要素の種類数は最小で何種類になりますか?

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 0\ \leq\ A_i\ \leq\ 10^9 $ - 入力される値はすべて整数 ### Sample Explanation 1 操作で $ M\ =\ 3 $ を選ぶと $ A\ =\ (1\ \bmod\ 3,\ 4\ \bmod\ 3,\ 8\ \bmod\ 3)\ =\ (1,\ 1,\ 2) $ になり、操作後の $ A $ の要素の種類数は $ 2 $ 種類になります。 $ A $ の要素の種類数を $ 1 $ 種類にすることはできないので $ 2 $ が答えです。 ### Sample Explanation 2 操作で $ M\ =\ 5 $ を選ぶと $ A\ =\ (0,\ 0,\ 0,\ 0) $ になり、これが最適です。