约数伙伴(divisor)

题目描述

DAMON THRONE\text{DAMON THRONE} 的训练系统中有 nn 张数字卡片,第 ii 张卡片上的数字为 aia_i

对于第 ii 张卡片,如果第 jj 张卡片上的数字能够整除 aia_i,即:

ajaia_j\mid a_i

那么称第 jj 张卡片是第 ii 张卡片的一个 约数伙伴

请你计算每张卡片有多少个约数伙伴。

注意:

  • 每张卡片都要单独计算;
  • 如果多张卡片上的数字相同,它们仍然是不同的卡片;
  • 一张卡片可以成为自己的约数伙伴。

输入格式

第一行包含一个整数 nn,表示数字卡片的数量。

第二行包含 nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示每张卡片上的数字。

输出格式

输出一行 nn 个整数。

ii 个整数表示第 ii 张卡片的约数伙伴数量。

输入输出样例 #1

输入 #1

6
1 2 3 4 6 12

输出 #1

1 2 2 3 4 6

样例解释 #1

对于数字 44,数组中能够整除 44 的数字为 1,2,41,2,4,因此数字 44 的约数伙伴数量为 33

对于数字 1212,数组中所有数字 1,2,3,4,6,121,2,3,4,6,12,都能够整除 1212,因此它的约数伙伴数量为 66

输入输出样例 #2

输入 #2

5
2 2 4 8 3

输出 #2

2 2 3 4 1

样例解释 #2

数组中有两张数字为 22 的卡片。

对于任意一张数字为 22 的卡片,这两张卡片都能够整除它,因此约数伙伴数量为 22

对于数字 88,能够整除它的卡片为 2,2,4,82,2,4,8,共 44 张。

数据范围与约定

对于所有测试数据,保证:

1n2×105,1ai1061\le n\le2\times10^5,\quad1\le a_i\le10^6
测试点 分值 nn aia_i 特殊性质
121\sim2 1010 100\le100
343\sim4 2020 2000\le2000 A\text{A}
565\sim6 105\le10^5 106\le10^6 B\text{B}
787\sim8 2×105\le2\times10^5 C\text{C}
9109\sim10 3030

特殊性质 A\text{A}:保证所有 aia_i 互不相同。

特殊性质 B\text{B}:保证所有 aia_i 都相同。

特殊性质 C\text{C}:保证所有 aia_i 都是 22 的幂。