철벽 보안 알고리즘
면접 대비시간 제한1초메모리 제한256 MB
두 공개 키가 정의한 단어 자리바꿈을 역으로 적용해서 암호문을 평문으로 복원합니다.
문제
소희는 공개키와 개인키를 한 쌍으로 관리하는 방식이 번거롭다고 생각했다. 그래서 공개키만 쓰는 암호 체계를 만들고 "철벽 보안 알고리즘"이라고 이름 붙였다.
단어는 대문자 A-Z를 1개 이상 10개 이하로 이어 붙인 문자열이고, 문장은 공백으로 구분한 단어의 나열이다.
제 1 공개키는 한 문장이며, 같은 단어가 두 번 나오지 않는다.
제 2 공개키는 제 1 공개키의 단어를 자리만 바꿔서 만든다.
평문은 제 1 공개키와 단어 수가 같은 문장이다. 제 1 공개키와 달리 같은 단어가 여러 번 나올 수 있다.
암호문은 두 공개키 사이의 자리 바꾸기를 평문에 그대로 적용한 문장이다. 즉 제 2 공개키의 번째 단어가 제 1 공개키의 번째 단어와 같으면, 암호문의 번째 단어는 평문의 번째 단어다.
두 공개키와 암호문을 받아 평문을 복원하라.
입력
첫 줄에 테스트 케이스의 수가 주어진다. 이 값은 100을 넘지 않는다.
각 테스트 케이스는 네 줄로 이루어진다.
- 첫째 줄: 한 문장의 단어 수 ()
- 둘째 줄: 제 1 공개키
- 셋째 줄: 제 2 공개키
- 넷째 줄: 암호문
모든 단어는 대문자 1개 이상 10개 이하로 이루어진다.
출력
각 테스트 케이스마다 복원한 평문을 한 줄에 출력한다. 단어 사이는 공백 하나로 구분한다.