#codefestival2016finald. [codefestival_2016_final_d]Pair Cards

[codefestival_2016_final_d]Pair Cards

题目描述

高桥正在玩一副 NN 张卡片。

ii 张卡片上有一个整数 XiX_i

高桥试图尽可能多地创建卡片对,满足以下条件之一:

  • 两张卡片上的整数相同。
  • 两张卡片上的整数之和是 MM 的倍数。

找出可以创建的最大的卡片对数。

注意,一张卡片不能用于多个卡片对。

约束条件

  • 2N1052≦N≦10^5
  • 1M1051≦M≦10^5
  • 1Xi1051≦X_i≦10^5

输入

输入以以下格式从标准输入给出:

NN MM X1X_1 X2X_2 ...... XNX_N

输出

打印可以创建的最大的卡片对数。

示例输入 1

7 5
3 1 4 1 5 9 2

示例输出 1

3

可以创建三对卡片:(3,2),(1,4)(3,2), (1,4)(1,9)(1,9)

也可以创建卡片对 (3,2)(3,2)(1,1)(1,1),但这样数量最大化的卡片对不会收到影响。

示例输入 2

15 10
1 5 6 10 11 11 11 20 21 25 25 26 99 99 99

示例输出 2

6