#codethanksfestival2017f. [code_thanks_festival_2017_f]Limited Xor Subset

[code_thanks_festival_2017_f]Limited Xor Subset

問題文

NN 個の正の整数が与えられ、i(1iN)i(1≦i≦N) 番目の正の整数は aia_i です。
NN 個の整数のうち 00 個以上を選んで、選んだ全ての整数のビットごとの排他的論理和を計算します。
計算結果が KK となるような整数の選び方の個数を 109+710^9+7 で割った余りを求めてください。
ただし、00 個選んだときのビットごとの排他的論理和は 00 とします。

制約

  • 1N1051≦N≦10^5
  • 0K1050≦K≦10^5
  • 1ai(1iN)1≦a_i (1≦i≦N)
  • a1++aN105a_1 + … + a_N≦10^5