알파벳 소문자로만 이루어진 N개의 문자열 S_1,…,S_N이 주어진다. 아래의 쿼리를 처리하는 프로그램을 작성하시오.
어떤 문자열의 부분 문자열은 그 문자열의 비어있지 않은 연속한 부분으로 정의한다.
두 문자열 A와 B의 공통 부분 문자열은 A의 부분 문자열이면서 B의 부분 문자열인 문자열이다.
첫째 줄에 문자열의 개수 N이 주어진다. (1≤N≤200,000)
이어지는 N개의 줄에, 알파벳 소문자로 이루어진 문자열 S_1,…,S_N이 한 줄에 하나씩 주어진다. S_1,…,S_N의 길이의 합은 200,000을 넘지 않음이 보장된다.
이어지는 줄에 쿼리의 개수 Q가 주어진다. (1≤Q≤200,000)
이어지는 Q개의 줄에 쿼리를 나타내는 두 정수 i와 j가 주어진다. (1≤i,j≤N)
각 Q개의 쿼리에 대한 정답을 한 줄에 하나씩 순서대로 출력한다.