1822: [NewOJ Week 7] 扔小球

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:142 通过:37

题目描述

假设一个小球从高度H落下,则经过一次弹跳之后,下次最高点为H/F高度。
再经过一次弹跳的最高点为H/(F^2)高度,以此类推。(此处不是整数除法)
有N个学生,每个学生高度为H[i],请问存在选出多少二元组满足:
其中一位学生的身高处落下小球,经过若干次弹跳之后,最高点恰好等于另一名学生身高。
注意:0次也可以,即身高相同的两名学生也可以组成一组合法组合。
同时二元组为无序二元组,即(1,2)和(2,1)相当于重复计算。

输入格式

第一行为正整数T,表示存在T组测试数据,1≤T≤100
每组测试数据第一行包含两个整数N和F,1≤N≤10000,2≤F≤10^9
第二行包含N个整数,表示每个学生的身高H[i],1≤H[i]≤10^9

输出格式

对于每组测试数据,输出一行表示答案。

输入样例 复制

2
3 2
2 2 2
3 2
2 1 4

输出样例 复制

3
3