#arc148a. [arc148_a]mod M

[arc148_a]mod M

题目描述

给定一个序列 A=(A1,A2,...,AN)A = (A_1, A_2, ..., A_N)
你可以执行以下操作最多一次。

  • 选择一个整数 MMM2M \geq 2。然后,对于每个整数 ii1iN1 \leq i \leq N),将 AiA_iAiA_i 除以 MM 的余数替换。

例如,如果选择 M=4M = 4,当 A=(2,7,4)A = (2, 7, 4) 时,AA 变为 (2mod4,7mod4,4mod4)=(2,3,0)(2 \bmod 4, 7 \bmod 4, 4 \bmod 4) = (2, 3, 0)

找出操作后 AA 中不同元素的最小可能数量。

约束条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 0Ai1090 \leq A_i \leq 10^9
  • 输入中的所有值均为整数。

输入

从标准输入读取输入数据,输入格式如下:

NN A1A_1 A2A_2 \dots ANA_N

输出

输出结果。

示例输入1

3
1 4 8

示例输出1

2

如果选择 M=3M = 3,你会得到 A=(1mod3,4mod3,8mod3)=(1,1,2)A = (1 \bmod 3, 4 \bmod 3, 8 \bmod 3) = (1, 1, 2),其中 AA 包含两个不同的元素。
AA 中不同元素的数量不能变为 1,因此答案是 2。

示例输入2

4
5 10 15 20

示例输出2

1

如果选择 M=5M = 5,你会得到 A=(0,0,0,0)A = (0, 0, 0, 0),这是最优解。

示例输入3

10
3785 5176 10740 7744 3999 3143 9028 2822 4748 6888

示例输出3

1