C13 - Select 2 Editorial /

Time Limit: 1 sec / Memory Limit: 1024 MB

配点: 1000

問題文

N 枚のカードがあり、それぞれ整数 A_1, A_2, \cdots, A_N が書かれています。

相異なるカードを 2 枚選ぶ方法のうち、次の条件を満たすものはいくつありますか。

  • 条件:2 枚のカードの積を 1000000007 で割った余りが P になる。

制約

  • 2 \leq N \leq 100000
  • 0 \leq P \leq 1000000006
  • 0 \leq A_i \leq 10^{18}
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられます。

N P
A_1 A_2 \cdots A_N

出力

答えを整数で出力してください。


入力例 1

4 6
1 2 3 6

出力例 1

2

以下のカードの組を選んだときに、条件を満たします。

  • 1 番目のカードと 4 番目のカードを選ぶ。
  • 2 番目のカードと 3 番目のカードを選ぶ。

入力例 2

4 1
1000000008 1000000008 1000000008 1000000008

出力例 2

6

書かれている整数が同じであっても、選んだカードの組が異なる場合は区別して数えることに注意してください。


入力例 3

2 609777330
31415926535897932 384626433832795028

出力例 3

1

入力例 4

10 0
0 0 0 0 0 1 2 3 4 5

出力例 4

35