블록
시간 제한1초메모리 제한1024 MB
여섯 글자가 적힌 블록 네 개가 주어질 때, 각 단어의 글자를 서로 다른 블록에 하나씩 배정할 수 있는지 판정한다.
문제
단어 실력을 키우려는 소 베시는 나무 블록 네 개를 구했다. 블록은 정육면체이고, 여섯 면에 알파벳 글자가 하나씩 적혀 있다. 베시는 블록을 한 줄로 늘어놓아 위에 보이는 글자로 단어를 만드는 방식으로 철자를 익히고 있다.
베시의 블록 네 개에 적힌 글자와 그녀가 만들고 싶어 하는 단어 목록이 주어졌을 때, 목록의 단어 중 어떤 것을 블록으로 만들 수 있는지 판별하시오.
입력
첫째 줄에는 베시가 만들고 싶어 하는 단어의 수 ()이 주어진다. 다음 네 줄에는 각각 알파벳 대문자 여섯 글자로 이루어진 문자열이 주어지며, 이는 블록 하나의 여섯 면에 적힌 글자를 나타낸다. 그다음 줄에는 베시가 만들고 싶어 하는 개의 단어가 주어진다. 각 단어의 길이는 알파벳 대문자 1글자 이상 4글자 이하이다.
출력
베시의 목록에 있는 각 단어마다 블록으로 그 단어를 만들 수 있으면 YES, 만들 수 없으면 NO를 출력한다.
힌트
이 예시에서 베시는 COW, ZOO, MOVE를 만들 수 있다. MOO는 만들 수 없는데, M이 적힌 블록이 하나뿐이라 같은 블록을 O에도 쓸 수 없기 때문이다. FARM은 R이 적힌 블록이 없어서 만들 수 없다. CODE는 C, D, E가 모두 같은 블록에 있어서 만들 수 없다.