#6135. k因数

k因数

题目描述

小迪老师突发奇想,决定定义 k 因数为因数和大于等于 k 的数字。例如当 k=15k = 15 时:

  • 数字 1010 就是 k 因数,因为 1010 的因数有:1、2、5、10,因数和为 1+2+5+10=181 + 2 + 5 + 10 = 18,而 181518 \geq 15
  • 数字 1111 就不是 k 因数,因为 1111 的因数有:1、11,因数和为 1+11=121 + 11 = 12,而 12<1512 < 15

现在给出 nn 个整数 a1a2ana_1、a_2、……、a_n,请问有多少对数字组合 <ai,aj><a_i, a_j> 符合以下要求:

  • i<ji < j
  • aia_iaja_j 都是 k 因数。

输入格式

第一行输入 22 个整数 nk(1n106,1k109)n、k(1 \leq n \leq 10^6, 1 \leq k \leq 10^9)

第二行输入 nn 个整数 ai(1ai106)a_i(1 \leq a_i \leq 10^6)

输出格式

输出一个整数,代表符合要求的数字组合的数量。

样例

5 15
10 11 6 8 12
3

样例解释

k=15k = 15 时:

  • 数字 1010 是 k 因数,因为 1010 的因数有:1、2、5、10,因数和为 1+2+5+10=181 + 2 + 5 + 10 = 18,而 181518 \geq 15
  • 数字 1111 不是 k 因数,因为 1111 的因数有:1、11,因数和为 1+11=121 + 11 = 12,而 12<1512 < 15
  • 数字 66 不是 k 因数,因为 88 的因数有:1、2、3、6,因数和为 1+2+3+6=121 + 2 + 3 + 6 = 12,而 12<1512 < 15
  • 数字 88 是 k 因数,因为 88 的因数有:1、2、4、8,因数和为 1+2+4+8=151 + 2 + 4 + 8 = 15,而 15>=1515 >= 15
  • 数字 1212 是 k 因数,因为 1212 的因数有:1、2、3、4、6、12,因数和为 1+2+3+4+6+12=281 + 2 + 3 + 4 + 6 + 12 = 28,而 28>=1528 >= 15

101088 是一对组合。

10101212 是一对组合。

881212 是一对组合。

总共有 33 对组合。

数据约束

数据点 nn aia_i
121 \sim 2 1n1001 \leq n \leq 100 1ai1001 \leq a_i \leq 100
343 \sim 4 1n1031 \leq n \leq 10^3 1ai1051 \leq a_i \leq 10^5
565 \sim 6 1n1041 \leq n \leq 10^4 1ai1061 \leq a_i \leq 10^6
787 \sim 8 1n1051 \leq n \leq 10^5
9209 \sim 20 1n1061 \leq n \leq 10^6