아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

철벽 보안 알고리즘

면접 대비

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

요약
두 공개 키가 정의한 단어 자리바꿈을 역으로 적용해서 암호문을 평문으로 복원합니다.
난이도

쉬움10점 중 2점

유형
해시맵, 배열
정답자
아직 제출이 없습니다

문제

소희는 공개키와 개인키를 한 쌍으로 관리하는 방식이 번거롭다고 생각했다. 그래서 공개키만 쓰는 암호 체계를 만들고 "철벽 보안 알고리즘"이라고 이름 붙였다.

단어는 대문자 A-Z를 1개 이상 10개 이하로 이어 붙인 문자열이고, 문장은 공백으로 구분한 단어의 나열이다.

제 1 공개키는 한 문장이며, 같은 단어가 두 번 나오지 않는다.

제 2 공개키는 제 1 공개키의 단어를 자리만 바꿔서 만든다.

평문은 제 1 공개키와 단어 수가 같은 문장이다. 제 1 공개키와 달리 같은 단어가 여러 번 나올 수 있다.

암호문은 두 공개키 사이의 자리 바꾸기를 평문에 그대로 적용한 문장이다. 즉 제 2 공개키의 ii번째 단어가 제 1 공개키의 jj번째 단어와 같으면, 암호문의 ii번째 단어는 평문의 jj번째 단어다.

두 공개키와 암호문을 받아 평문을 복원하라.

입력

첫 줄에 테스트 케이스의 수가 주어진다. 이 값은 100을 넘지 않는다.

각 테스트 케이스는 네 줄로 이루어진다.

  • 첫째 줄: 한 문장의 단어 수 nn (1≤n≤10001 \le n \le 1000)
  • 둘째 줄: 제 1 공개키
  • 셋째 줄: 제 2 공개키
  • 넷째 줄: 암호문

모든 단어는 대문자 1개 이상 10개 이하로 이루어진다.

출력

각 테스트 케이스마다 복원한 평문을 한 줄에 출력한다. 단어 사이는 공백 하나로 구분한다.

예제1

  1. 예제 1

    입력
    2
    4
    A B C D
    D A B C
    C B A P
    3
    SECURITY THROUGH OBSCURITY
    OBSCURITY THROUGH SECURITY
    TOMORROW ATTACK WE
    
    예상 출력
    B A P C
    WE ATTACK TOMORROW