from math import factorial n, k = map(int, input().split()) a = [0] + (sorted(map(int, input().split())) if k > 0 else []) + [2 ** n - 1] ans = 1 for i in range(1, len(a)): a0 = a[i - 1] a1 = a[i] if a0 & a1 != a0: ans = 0 break else: cnt = 0 da = a0 ^ a1 while da > 0: if da & 1 == 1: cnt += 1 da >>= 1 ans = ans * factorial(cnt) % (10 ** 9 + 7) print(ans % (10 ** 9 + 7))