N, K = gets.split.map(&:to_i) MOD = 10 ** 9 + 7 if K == 0 puts (1..N).inject(:*) % MOD exit end A = gets.split.map(&:to_i).sort ans = 1 mask = 0 A.each do |a| cnt = 0 60.times do |i| ans = 0 if mask[i] == 1 && a[i] == 0 cnt += 1 if mask[i] == 0 && a[i] == 1 end mask |= a ans *= cnt ans %= MOD end puts ans