#ARC093D. [ARC093F] Dark Horse

[ARC093F] Dark Horse

Score : 11001100 points

Problem Statement

There are 2N2^N players, numbered 1,2,...,2N1, 2, ..., 2^N. They decided to hold a tournament.

The tournament proceeds as follows:

  • Choose a permutation of 1,2,...,2N1, 2, ..., 2^N: p1,p2,...,p2Np_1, p_2, ..., p_{2^N}.
  • The players stand in a row in the order of Player p1p_1, Player p2p_2, ......, Player p2Np_{2^N}.
  • Repeat the following until there is only one player remaining in the row:- Play the following matches: the first player in the row versus the second player in the row, the third player versus the fourth player, and so on. The players who lose leave the row. The players who win stand in a row again, preserving the relative order of the players.
  • Play the following matches: the first player in the row versus the second player in the row, the third player versus the fourth player, and so on. The players who lose leave the row. The players who win stand in a row again, preserving the relative order of the players.
  • The last player who remains in the row is the champion.

It is known that, the result of the match between two players can be written as follows, using MM integers A1,A2,...,AMA_1, A_2, ..., A_M given as input:

  • When y=Aiy = A_i for some ii, the winner of the match between Player 11 and Player yy (2y2N2 \leq y \leq 2^N) will be Player yy.
  • When yAiy \neq A_i for every ii, the winner of the match between Player 11 and Player yy (2y2N2 \leq y \leq 2^N) will be Player 11.
  • When 2x<y2N2 \leq x < y \leq 2^N, the winner of the match between Player xx and Player yy will be Player xx.

The champion of this tournament depends only on the permutation p1,p2,...,p2Np_1, p_2, ..., p_{2^N} chosen at the beginning. Find the number of permutation p1,p2,...,p2Np_1, p_2, ..., p_{2^N} chosen at the beginning of the tournament that would result in Player 11 becoming the champion, modulo 109+710^9 + 7.

Constraints

  • 1N161 \leq N \leq 16
  • 0M160 \leq M \leq 16
  • 2Ai2N2 \leq A_i \leq 2^N (1iM1 \leq i \leq M)
  • Ai<Ai+1A_i < A_{i + 1} (1i<M1 \leq i < M)

Input

Input is given from Standard Input in the following format:

NN MM

A1A_1 A2A_2 ...... AMA_M

Output

Print the answer.

2 1
3
8

Examples of pp that satisfy the condition are: [1,4,2,3][1, 4, 2, 3] and [3,2,1,4][3, 2, 1, 4]. Examples of pp that do not satisfy the condition are: [1,2,3,4][1, 2, 3, 4] and [1,3,2,4][1, 3, 2, 4].

4 3
2 4 6
0
3 0
40320
3 3
3 4 7
2688
16 16
5489 5490 5491 5492 5493 5494 5495 5497 18993 18995 18997 18999 19000 19001 19002 19003
816646464