정다각형 선분

남은 다각형 꼭짓점을 방문하는 순서 중에서 새로 그은 선분이 모두 기존 선분과 교차하고 P0로 되돌아오는 순서의 수를 센다.

어려움8백트래킹동적 계획법비트 연산기하아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

도현이는 종이에 점 NN개를 찍어 정 NN각형을 만들었다. 꼭짓점에는 시계 방향으로 11번부터 NN번까지 번호가 붙어 있다.

그 다음 선분 M1M-1개를 그렸다. 꼭짓점 번호를 P0,P1,,PM1P_0, P_1, \dots, P_{M-1} 순서로 이어서, P0P_0P1P_1, P1P_1P2P_2, 이런 식으로 PM2P_{M-2}PM1P_{M-1}까지 연결했다.

이제 남은 꼭짓점을 모두 한 번씩 방문하고 P0P_0으로 돌아오는 경로를 이어서 그리려고 한다. 남은 꼭짓점을 방문하는 순서를 T0,T1,,TNM1T_0, T_1, \dots, T_{N-M-1}이라고 하면, PM1P_{M-1}T0T_0, T0T_0T1T_1, 이런 식으로 TNM2T_{N-M-2}TNM1T_{N-M-1}까지 연결하고, 마지막으로 TNM1T_{N-M-1}P0P_0을 연결한다. PP에 없는 꼭짓점은 TT에 정확히 한 번씩 들어간다.

선분을 새로 그릴 때마다, 그 선분은 이미 그려져 있는 선분 중 적어도 하나와 교차해야 한다. 이미 그려져 있는 선분에는 PP를 따라 그린 선분과 이 과정에서 앞서 그린 선분이 모두 들어간다. 두 선분이 교차한다는 것은 두 선분 모두의 내부에 있는 점을 공유한다는 뜻이므로, 끝점 하나만 같은 두 선분은 교차하지 않는다.

NN, MM, PP가 주어졌을 때 가능한 TT의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NNMM이 공백으로 구분되어 주어진다. (4N184 \le N \le 18, 2MN12 \le M \le N-1)

둘째 줄에 P0P_0부터 PM1P_{M-1}까지 MM개의 수가 순서대로 주어진다. 각 수는 11 이상 NN 이하이고, 서로 다르다.

출력

첫째 줄에 가능한 TT의 개수를 출력한다.