그건 망고가 아니라 고양이예요

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

고양이 '망고'

망고는 이하의 집에 사는 고양이이다. 이름의 유래는 집에 있던 망고주스와 색깔이 유사해서이다. 망고는 이 이름을 마음에 들어하는지 모르겠다.

삶은 힘들지만 고양이는 귀엽다. 그래서 몇몇 사람들은 망고를 칭송하기도 하며, ‘망고가 얼망고?’ 같은 말장난을 하거나, ‘망고 맛있겠다’ 같은 중의적인 농담을 펼치기도 한다. 이하는 망고가 망고라고 주장하지만 몇몇 사람들은 ‘그건 망고가 아니라 고양이예요’라 말하기에 이르었고, 어쩌다보니 여기에서 이하는 끊임없는 PS 문제 창작 욕구에 의해 다음과 같이 문제를 만들게 되었다.

기본 문자열 M_0M\_0와 규칙 문자열 SS가 있다고 하자. 이 때 양의 정수 ii에 대해 M_iM\_iSS에 있는 모든 $ 문자를 문자열 M_i1M\_{i-1}로 대체한 문자열로 정의된다. 문자열이 길지 않다면 몇 개는 손으로 만들어볼 수도 있다. M_0M\_0를 '그건 망고가 아니라 고양이예요'라 하고, SS를 '그건 "$"가 아니라 "$"예요'라 하면 M_0M\_0, M_1M\_1, M_2M\_2는 다음과 같다.

  • M_0M\_0 : 그건 망고가 아니라 고양이예요
  • M_1M\_1 : 그건 "그건 망고가 아니라 고양이예요"가 아니라 "그건 망고가 아니라 고양이예요"예요
  • M_2M\_2 : 그건 "그건 "그건 망고가 아니라 고양이예요"가 아니라 "그건 망고가 아니라 고양이예요"예요"가 아니라 "그건 "그건 망고가 아니라 고양이예요"가 아니라 "그건 망고가 아니라 고양이예요"예요"예요

M_3M\_3, M_4M\_4뿐만 아니라 M_1 000M\_{1\ 000}도 똑같은 원리로 만들어낼 수 있다. 그러나 문자열의 길이가 너무 길어질 수 있기 때문에 일반적으로는 전체를 만들 수는 없다. 그러나 꼭 전체를 구할 필요는 없지 않은가? 이하는 이렇게 생성되는 문자열의 연속한 부분을 구해보고자 한다.

입력

첫 번째 줄에는 기본 문자열 M_0M\_0가, 두 번째 줄에는 규칙 문자열 SS가 주어진다. 입력으로 들어오는 문자열은 다음 조건을 만족한다.

  • 각 문자열의 길이는 11 이상 10510^5 이하이다.
  • 각 문자열의 모든 문자는 줄바꿈을 제외하고 ASCII code 값이 33 이상 126 이하이다. 즉, 제어 문자(control character)가 아닌 출력 가능한 문자(printable character)로만 구성되어 있다.
  • M_0M\_0에는 $ (ASCII code 36) 문자가 없다.
  • SS에는 $ (ASCII code 36) 문자가 최소 하나 있다.

세 번째 줄에는 두 개의 양의 정수 kkQQ가 공백으로 구분되어 주어진다. (1k1051 \leq k \leq 10^5, 1Q1051 \leq Q \leq 10^5)

네 번째 줄부터 QQ개의 줄에 걸쳐 질의가 주어진다. 이 QQ개의 줄 중 ii번째 줄에는 두 개의 정수 a_ia\_ib_ib\_i가 공백으로 구분되어 주어진다. (1a_ib_i10181 \leq a\_i \leq b\_i \leq 10^{18}, b_ia_i<105b\_i - a\_i < 10^5)

b_ib\_iM_kM\_k의 길이를 초과하지 않으며, b_ia_i+1b\_i - a\_i + 1의 합은 5×1055 \times 10^5을 넘지 않는다.

출력

QQ개의 줄에 걸쳐 M_kM\_k의 부분문자열을 출력한다.

이 중 ii번째 줄에는 M_kM\_ka_ia\_i번째 글자부터 b_ib\_i번째 글자까지, 총 b_ia_i+1b\_i-a\_i+1개의 문자를 출력한다.