Logo Daimayuan Online Judge

Home

时间限制:2 s 空间限制:1024 MB

#734. 子串的循环挪动

附加文件 统计

​ 给出一个字符串 $s$,你需要执行 $m$ 个任务。每个任务给出两个下标 $l_i, r_i$ 和一个整数 $k_i$(字符串的下标从 $1$ 开始),表示你需要循环挪动 $s$ 的子串 $s[l_i...r_i]\ k_i$ 次。请从前到后依次执行给出的每个任务。

​ 字符串的循环挪动操作:将最后一个字符移到第一个字符的位置,并且将其他所有字符向右移一个位置。

​ 比如:如果字符串 $s$ 是 abacaba,一个任务为 $l_1=3,r_1=6,k_1=1$,那么答案为 abbacaa。接下来一个任务为 $l_2=1,r_2=4,k_2=2$,那么我们会得到 baabcaa

输入格式

​ 第一行一个字符串 $s$,该字符串只包含小写英文字符。

​ 第二行一个整数 $m$,表示任务个数。

​ 接下来 $m$ 行每行有三个整数 $l_i,r_i$ 和 $k_i$。

输出格式

​ 输出执行了 $m$ 个任务后的最终的字符串 $s$。

样例输入

abacaba
2
3 6 1
1 4 2

样例输出

baabcaa

数据规模

​ 对于所有数据保证,$1\leq |s| \leq 10000$($|s|$ 表示字符串 $s$ 的长度),$1\leq m\leq 300$,$1\leq l_i\leq r_i\leq |s|$,$1\leq k_i \leq 1000000$。