popcnt = lambda n: bin(n).count('1') N, K = map(int, input().split()) MOD = 10 ** 9 + 7 fac = [1] * (N + 1) for i in range(N): fac[i + 1] = fac[i] * (i + 1) % MOD if not K: print(fac[N]) exit() A = sorted(map(int, input().split())) ans = 1 cur = 0 for a in A: if cur & a != cur: print(0) exit() ans = ans * fac[popcnt(cur ^ a)] % MOD cur = a ans = ans * fac[N - popcnt(cur)] % MOD print(ans)