StrCartesian
시간 제한13초메모리 제한2048 MB
두 문자열 집합 A와 B가 주어집니다. 모든 a_i + b_j를 사전순으로 정렬했을 때 질의된 위치 k_i에 있는 문자열의 인덱스 (f, s)를 구합니다.
문제
두 문자열 집합 과 이 주어진다. 와 를 이어 붙인 문자열 개로 이루어진 수열을 다음과 같이 정의한다.
수열 를 사전순으로 정렬하고, 정렬된 수열을 라 하자.
전체는 너무 커서 출력할 수 없으므로 개의 질의가 주어진다. 번째 질의는 를 묻는다. 이 문자열도 너무 길어서 출력하기 어렵다. 답이 이면, 프로그램은 쌍만 출력하면 된다.
입력
첫 줄에 정수 과 ()이 주어진다. 이는 집합 와 의 크기이다. 다음 개의 줄에는 서로 다른 빈 문자열이 아닌 문자열 이 주어진다. 집합 에 속한 문자열의 총 길이는 을 넘지 않는다. 다음 개의 줄에는 서로 다른 빈 문자열이 아닌 문자열 이 주어진다. 집합 에 속한 문자열의 총 길이는 을 넘지 않는다. 모든 문자열은 영어 소문자로만 이루어진다. 다음 줄에는 질의의 개수 ()가 주어진다. 이어서 개의 줄에 각각 정수 ()가 주어진다.
출력
개의 줄을 출력한다. 번째 줄에는 두 정수 와 (, )를 출력한다. 이는 가 와 같다는 뜻이다. 정답이 여러 개이면 그중 아무거나 출력해도 된다.