새해와 이름 짓기

면접 대비

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

요약
두 문자열 순열을 각각 순환시키며, 주어진 연도에 해당하는 두 문자열을 이어 붙인 이름을 각 질의마다 구한다.
난이도

쉬움10점 중 3점

유형
구현, 수학, 배열, 문자열
정답자
아직 제출이 없습니다

문제

새해 복 많이 받으세요! 2020년은 한국에서 경자년이라고도 부릅니다. 이 이름은 어디에서 왔을까요? 한국에서 전통적으로 해를 부르는 데 쓰는 갑자 체계를 잠깐 살펴봅시다.

nn개의 문자열 s1,s2,s3,…,sns_1, s_2, s_3, \ldots, s_{n}과 mm개의 문자열 t1,t2,t3,…,tmt_1, t_2, t_3, \ldots, t_{m}이 있습니다. 이 문자열들은 소문자만 포함합니다. 문자열들 사이에 중복이 있을 수도 있습니다.

문자열 xx와 yy의 연결은 xx와 yy를 순서를 바꾸지 않고 이어서 쓴 문자열이라고 합시다. 예를 들어 문자열 "code"와 "forces"의 연결은 문자열 "codeforces"입니다.

1년의 이름은 두 문자열 s1s_1과 t1t_1의 연결입니다. 해가 하나 늘어나면 각 수열에서 다음 문자열을 순서대로 이어 붙입니다. 현재 쓰는 문자열이 자기 수열의 끝에 있으면 그 수열의 첫 번째 문자열로 돌아갑니다.

예를 들어 n=3,m=4,s=n = 3, m = 4, s = {"a", "b", "c"}, t=t = {"d", "e", "f", "g"}이면 다음 표는 만들어진 해의 이름을 나타냅니다. 해의 이름이 반복될 수 있다는 점에 유의하세요.

크기 nn과 mm인 두 문자열 수열과 qq개의 질의가 주어집니다. 각 질의에서 현재 해가 주어집니다. 갑자 체계에 따라 주어진 해에 해당하는 이름을 구할 수 있을까요?

입력

첫째 줄에 두 정수 n,mn, m이 주어집니다 (1≤n,m≤201 \le n, m \le 20).

다음 줄에 nn개의 문자열 s1,s2,…,sns_1, s_2, \ldots, s_{n}이 주어집니다. 각 문자열은 소문자만 포함하고 공백으로 구분됩니다. 각 문자열의 길이는 1 이상 10 이하입니다.

다음 줄에 mm개의 문자열 t1,t2,…,tmt_1, t_2, \ldots, t_{m}이 주어집니다. 각 문자열은 소문자만 포함하고 공백으로 구분됩니다. 각 문자열의 길이는 1 이상 10 이하입니다.

주어진 n+mn + m개의 문자열 사이에는 중복이 있을 수 있습니다. 즉, 모두 서로 다를 필요는 없습니다.

다음 줄에 정수 qq가 하나 주어집니다 (1≤q≤2 0201 \le q \le 2\,020).

다음 qq개의 줄에 정수 yy가 주어집니다 (1≤y≤1091 \le y \le 10^9). 이는 이름을 알고 싶은 해를 나타냅니다.

출력

qq개의 줄을 출력합니다. 각 줄에 위에서 설명한 규칙에 따라 그 해의 이름을 출력합니다.

힌트

첫 번째 예제는 갑자 체계에서 실제로 쓰이는 이름을 나타냅니다. 이 문자열들은 보통 숫자이거나 어떤 동물의 이름입니다.

예제1

  1. 예제 1

    입력
    10 12
    sin im gye gap eul byeong jeong mu gi gyeong
    yu sul hae ja chuk in myo jin sa o mi sin
    14
    1
    2
    3
    4
    10
    11
    12
    13
    73
    2016
    2017
    2018
    2019
    2020
    
    예상 출력
    sinyu
    imsul
    gyehae
    gapja
    gyeongo
    sinmi
    imsin
    gyeyu
    gyeyu
    byeongsin
    jeongyu
    musul
    gihae
    gyeongja