용량 부족

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

연수는 하드디스크의 용량이 부족해서, 필요 없는 파일들을 지워 공간을 확보하려고 한다.

모든 파일은 하나의 디렉토리 안에 있고, 연수는 그 디렉토리에서 리눅스의 rm 명령으로 파일을 지운다. rm 명령은 다음 두 가지 형태로 사용할 수 있다.

  • rm 파일명 : 이름이 정확히 파일명인 파일 하나만 지운다.
  • rm 문자열* : 이름이 문자열과 같거나 문자열로 시작하는 모든 파일을 한 번에 지운다. 와일드카드 *는 반드시 문자열의 맨 끝에만 붙일 수 있다. (예를 들어 rm *.txt처럼 앞이나 중간에 쓸 수는 없다.) 문자열을 비워 rm *로 쓰면 디렉토리의 모든 파일이 지워진다.

지워야 하는 파일들과, 절대 지우면 안 되는 파일들이 주어진다. 지워야 하는 파일은 모두 지우면서 지우면 안 되는 파일은 하나도 지우지 않도록 하는 데 필요한 rm 명령의 최소 횟수를 구하여라.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같은 형식으로 주어진다.

  • 첫째 줄에 지워야 하는 파일의 개수 N1 (1 ≤ N1 ≤ 1000)이 주어진다.
  • 다음 N1개의 줄에 지워야 하는 파일의 이름이 한 줄에 하나씩 주어진다.
  • 그다음 줄에 지우면 안 되는 파일의 개수 N2 (0 ≤ N2 ≤ 1000)가 주어진다.
  • 다음 N2개의 줄에 지우면 안 되는 파일의 이름이 한 줄에 하나씩 주어진다.

모든 파일 이름은 길이가 1 이상 20 이하이며, 영문 대소문자, 숫자, 그리고 점(.)으로만 이루어진다. 한 테스트 케이스 안에서 등장하는 파일 이름은 모두 서로 다르다.

출력

각 테스트 케이스마다 필요한 rm 명령의 최소 횟수를 한 줄에 하나씩 출력한다.

힌트

첫 번째 테스트 케이스에서 지워야 하는 파일들은 다음 8개의 명령으로 정확히 지울 수 있다.

rm BAPC.*, rm filt*, rm filename*, rm clean, rm cleanup.IN1, rm cleanup.IN2, rm cleanup.out, rm p*