마지막 단어

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

요약
문자열과 일련의 substring(start, length) 연산이 주어질 때, 모든 연산을 순서대로 적용한 뒤 남는 문자열을 출력한다.
난이도

보통10점 중 4점

유형
문자열, 시뮬레이션, 구현, 배열
정답자
아직 제출이 없습니다

문제

substring() 함수는 대부분의 프로그래밍 언어에서 문자열을 다룰 때 흔히 쓰이는 연산이다. 시작 위치와 길이를 주면, 시작 위치부터 그 길이만큼의 문자를 담은 새 문자열을 만든다.

어떤 문자열에 대해 이 함수를 연달아 아주 많이 호출했다. 표준 라이브러리 함수 substring(s, start, length)로 문자열을 계속 잘라낸 결과, 지금은 처음보다 훨씬 짧을 수도 있는 문자열이 남았다.

이 모든 연산을 거친 뒤 남은 문자열을 구하라.

입력

  • 첫째 줄에 문자열 s가 주어진다. (1 ≤ |s| ≤ 106)
  • 둘째 줄에 연산의 개수 n이 주어진다. (1 ≤ n ≤ 106)
  • 다음 n개 줄에 두 정수 starti와 lengthi가 주어진다. (0 ≤ starti < lengthi−1; 1 ≤ starti + lengthi ≤ lengthi−1)

출력

연속된 substring() 연산을 모두 수행한 뒤의 문자열을 출력한다.

예제2

  1. 예제 1

    입력
    helloworld
    2
    1 9
    0 5
    
    예상 출력
    ellow
    
  2. 예제 2

    입력
    abcdefghijklmnopqrstuvwxyz
    8
    1 24
    1 22
    1 20
    1 18
    1 16
    1 14
    1 12
    1 10
    
    예상 출력
    ijklmnopqr