시간 제한메모리 제한제출정답맞힌 사람정답 비율
17 초 512 MB254685124.057%

문제

テキストエディタの最も重要な機能の 1 つとして,コピー&ペースト (複写・貼付) がある.JOI 社は,コ ピー&ペーストを非常に高速に処理するテキストエディタの開発を開始した.JOI 社に所属する優秀なプ ログラマであるあなたは,核となるコピー&ペーストの処理の実装の担当となった.JOI 社の命運が懸かっ ているので,何としても正確かつ高速なプログラムを作成したい.

具体的な仕様は次のとおりである.初め,ファイルの内容は文字列 S である.引き続いて,コピー&ペー ストの操作が N 回行われる.i 回目の操作は,位置 Ai から位置 Bi までの文字列を複写し,複写された文字 列を元の文字列の位置 Ci に挿入貼付する,というものである.ここで,位置 x とは,文字列の先頭から x 個の文字をたどった直後の箇所を表す (位置 0 は文字列の先頭である).ただし,操作後に文字列の長さが M を超えた場合,長さが M になるまで文字列の右端から順に文字が削除される.N 回の操作後に得られる 文字列を求めたい.

文字列の長さの上限 M,初めの文字列 S,操作の回数 N および N 回のコピー&ペーストの操作の指示が 与えられたとき,操作後の文字列を出力するプログラムを作成せよ.

입력

標準入力から以下の入力を読み込め.

  • 1 行目には整数 M が書かれており,文字列の長さの上限を表す.
  • 2 行目には文字列 S が書かれており,初めの文字列を表す.S はアルファベットの小文字からなり, 長さは 1 以上 M 以下である.
  • 3 行目には整数 N が書かれており,操作の回数を表す.
    3 + i 行目 (1 ≤ i ≤ N) には整数 Ai, Bi, Ci が空白を区切りとして書かれており,i 回目の操作は位置 Ai から位置 Bi までの文字列を複写し位置 Ci に挿入貼付する,というものであることを表す.i 回目の 操作の直前の文字列の長さを Li とすると,0 ≤ Ai < Bi ≤ Li および 0 ≤ Ci ≤ Li を満たす.

출력

標準出力に,N 回の操作後の文字列を 1 行で出力せよ.

제한

  • 1 ≤ M ≤ 1 000 000 文字列の長さの上限
  • 1 ≤ N ≤ 1 000 000 操作の回数

예제 입력 1

18
copypaste
4
3 6 8
1 5 2
4 12 1
17 18 0

예제 출력 1

acyppypastoopyppyp

この例では,N = 4 回のコピー&ペーストの操作は以下のように行われる.

  • 初めの文字列は copypaste である.
  • 1 回目の操作では,位置 3 から位置 6 までの文字列 ypa が複写され,位置 8 に挿入貼付されることで, 文字列 copypastypae を得る.
  • 2 回目の操作では,位置 1 から位置 5 までの文字列 opyp が複写され,位置 2 に挿入貼付されること で,文字列 coopyppypastypae を得る.
  • 3 回目の操作では,位置 4 から位置 12 までの文字列 yppypast が複写され,位置 1 に挿入貼付され ることで,文字列 cyppypastoopyppypastypae を得るが,長さが M = 18 を超えているため,右端 から文字が削除され,文字列 cyppypastoopyppypa を得る.
  • 4 回目の操作では,位置 17 から位置 18 までの文字列 a が複写され,位置 0 に挿入貼付されることで, 文字列 acyppypastoopyppypa を得るが,長さが M = 18 を超えているため,右端から文字が削除さ れ,文字列 acyppypastoopyppyp を得る.

예제 입력 2

100
joi
3
0 1 0
3 4 3
2 3 3

예제 출력 2

jjooii

출처

Camp > JOI Spring Training Camp > JOI 2011/2012 Spring Training Camp 4-2번

  • 잘못된 데이터를 찾은 사람: 99148542