만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

두 행 표 채우기

시간 제한1초메모리 제한256 MB

요약
고정된 수와 공통 수를 두 행에 오름차순으로 배치해 각 열이 위에서 아래로 증가하는 경우의 수를 셉니다.
난이도

보통10점 중 6점

유형
동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

양의 정수 NN이 주어진다. 정수 1,2,3,…,2N1, 2, 3, \dots, 2N을 세 집합 AA, BB, CC로 나눈다. 다음 조건을 모두 만족하도록 2행 NN열짜리 표를 채우는 방법의 수를 구한다.

  • 표의 각 칸에 정수를 하나씩 적는다.
  • 집합 AA의 정수는 첫째 행에 적는다.
  • 집합 BB의 정수는 둘째 행에 적는다.
  • 집합 CC의 정수는 어느 행에 적어도 된다.
  • 각 행의 수는 왼쪽에서 오른쪽으로 갈수록 커진다.
  • 각 열의 수는 위에서 아래로 갈수록 커진다.

11부터 2N2N까지의 정수는 표 전체에 정확히 한 번씩 나타난다.

N=4N = 4, A={2,3}A = \{2, 3\}, B={4,7,8}B = \{4, 7, 8\}, C={1,5,6}C = \{1, 5, 6\}인 경우 조건을 만족하는 표는 다음 두 가지뿐이다.

1 2 3 5
4 6 7 8
1 2 3 6
4 5 7 8

입력

첫째 줄에 정수 NN이 주어진다. (1<N≤351 < N \le 35)

둘째 줄에 집합 AA의 원소 개수 MM과 AA의 원소가 차례로 주어진다. (0≤M≤N0 \le M \le N)

셋째 줄에 집합 BB의 원소 개수 KK와 BB의 원소가 차례로 주어진다. (0≤K≤N0 \le K \le N)

AA와 BB는 서로소이고, 두 집합의 원소는 모두 11 이상 2N2N 이하의 정수다. 한 줄 안의 원소는 정렬되어 있지 않을 수 있다. AA에도 BB에도 속하지 않는 정수가 집합 CC를 이룬다.

출력

조건을 만족하는 표의 개수를 한 줄에 출력한다. 그런 표가 하나도 없으면 00을 출력한다.

예제4

  1. 예제 1

    입력
    4
    2 3 2
    3 4 8 7
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    0
    0
    
    예상 출력
    2
    
  3. 예제 3

    입력
    2
    2 1 2
    2 3 4
    
    예상 출력
    1
    
  4. 예제 4

    입력
    2
    1 2
    1 1
    
    예상 출력
    0