키 입력
시간 제한1초메모리 제한1024 MB
주어진 행 번호 집합과 열 번호 집합을 만들어 낼 수 있는 네 개 키의 부분집합이 몇 개인지 센다.
문제
숫자 1부터 4까지를 입력하는 숫자 키패드를 설계하려고 한다. 각 숫자에는 고유한 키가 하나씩 대응한다. 모든 키는 2 × 2 행렬로 배치되어 있고, 키패드 아래에는 감지 회로가 있다. 키를 누르면 회로가 키 입력 신호를 컨트롤러로 전송하고, 컨트롤러는 행 번호와 열 번호를 받는다. 키 입력 사건은 (row, column) 쌍으로 나타낼 수 있다. 정확히 말하면, 𝑖 ∈ {1, 2, 3, 4}인 숫자 𝑖의 키를 누르면 컨트롤러는 (⌊(i − 1)/2⌋,(i − 1) mod 2) 쌍을 받는다. 예를 들어 키 3을 누르면 컨트롤러는 키 입력 신호로 (1, 0)을 받는다. 어떤 이유로 여러 키를 동시에 누르려고 한다. 이때도 컨트롤러는 각 키에 해당하는 행 번호와 열 번호를 받는다. 다만 행 번호끼리 서로 섞이고, 열 번호끼리도 서로 섞인다. 예를 들어 키 1과 4를 동시에 누르면 키 1이 (0, 0)을, 키 4가 (1, 1)을 내보내므로 컨트롤러는 행 번호 {0, 1}과 열 번호 {0, 1}을 받는다. 또 다른 예로 키 1과 2를 동시에 누르면 키 1이 (0, 0)을, 키 2가 (0, 1)을 내보내고 두 키의 행 번호가 같으므로 컨트롤러는 ({0}, {0, 1})만 받는다. 서로 다른 키 입력 조합이 같은 신호를 만들 수 있다는 점에 주목하자. 키 2와 3을 누르면 ({0, 1}, {0, 1})을 받는데, 이는 키 1과 4를 누른 경우와 같다. 키 1, 2, 3, 4를 동시에 누르면 같은 결과를 받는다. (row, column) 쌍 형태로 주어진 키 입력 신호가 있을 때, 이 신호를 만들 수 있는 키 입력 조합의 총 개수를 구하는 프로그램을 작성하시오.
입력
입력의 첫 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 주어진다. 각 테스트 케이스는 바로 다음 줄부터 이어진다. 각 테스트 케이스의 첫 줄에는 두 양의 정수 m과 n이 주어진다. 둘째 줄에는 받은 행 번호인 m개의 서로 다른 정수가 주어진다. 셋째 줄에는 받은 열 번호인 n개의 서로 다른 정수가 주어진다. 같은 줄에 있는 수들은 공백으로 구분된다.
출력
각 테스트 케이스마다 결과를 한 줄에 출력한다.
제한
- 테스트 케이스는 최대 10개이다.
- 1 ≤ m, n ≤ 2.