시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
한 줄로 놓인 극장의 좌석에는 왼쪽부터 오른쪽으로 1번부터 N번까지 번호가 붙어 있다. 관객은 원칙적으로 자기 입장권에 적힌 번호의 좌석에 앉아야 한다. 다만 일반 관객은 자기 좌석의 바로 왼쪽 또는 바로 오른쪽 좌석으로 한 칸 이동해 앉을 수 있다. 예를 들어 7번 입장권을 가진 관객은 6번, 7번, 8번 좌석에 앉을 수 있지만 5번이나 9번 좌석에는 앉을 수 없다.
이 극장에는 VIP 회원이 있다. VIP 회원은 반드시 자기 번호의 좌석에만 앉아야 하며, 옆자리로 이동할 수 없다.
오늘 공연은 매진되어 1번부터 N번까지 모든 좌석의 입장권이 팔렸다. VIP 회원의 좌석 번호가 주어졌을 때, 조건을 만족하는 서로 다른 좌석 배치 방법의 수를 구하라.
예를 들어 좌석이 9개이고 4번과 7번이 VIP 좌석이면 123456789는 가능한 배치이다. 213465789와 132465798도 가능하다. 반면 312456789는 어떤 관객이 자기 좌석에서 두 칸 이상 떨어지므로 불가능하고, 123546789는 VIP 좌석 조건을 어기므로 불가능하다.

첫째 줄에 좌석의 개수 N이 주어진다. N은 1 이상 40 이하이다.
둘째 줄에 VIP 좌석의 개수 M이 주어진다. M은 0 이상 N 이하이다.
다음 M개의 줄에는 VIP 좌석 번호가 한 줄에 하나씩 오름차순으로 주어진다.
조건을 만족하는 좌석 배치 방법의 수를 출력한다. 답은 2,000,000,000을 넘지 않는다. (2,000,000,000 < 2^31 - 1)