#1533. 因子扩展

    ID: 1533 传统题 文件IO:gcdset 1000ms 256MiB 尝试: 13 已通过: 3 难度: 普及 上传者: 标签>初中组数学数论最大公约数埃式筛

因子扩展

本题需要文件读写

文件 IO 为:输入文件 gcdset.in,输出文件 gcdset.out。请使用上述文件名读入和输出。

问题描述

初始保存了 nn 个正整数 a1,a2,…,ana_1,a_2,\ldots,a_n。你可以反复利用当前已有的数字生成新数字:

任选当前已有的两个数 ax,aya_x,a_y,计算 p=gcd⁡(ax,ay)p=\gcd(a_x,a_y),即两数的最大公约数。如果 pp 尚未出现,就将它加入集合。新加入的数字也可以用于后续操作。

操作次数不限,请计算最多还能向集合中加入多少个不同的整数。初始已有的整数不计入答案。

输入格式

从文件 gcdset.in 中读入数据。

第一行输入一个整数 nn,表示初始数字个数。

第二行输入 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

输出到文件 gcdset.out 中。

输出一行一个整数,表示最多还能加入的不同整数数量。

样例输入 1

3
6 10 15

样例输出 1

4

评测数据规模

  • 对于 20%20\% 的数据,2≤n≤1022\le n\le10^2,1≤ai≤1031\le a_i\le10^3;
  • 对于所有数据,2≤n≤1062\le n\le10^6,1≤ai≤1061\le a_i\le10^6;
  • 输入均为整数。