给出一个字符串 s,你需要执行 m 个任务。每个任务给出两个下标 li,ri 和一个整数 ki(字符串的下标从 1 开始),表示你需要循环挪动 s 的子串 s[li...ri] ki 次。请从前到后依次执行给出的每个任务。
字符串的循环挪动操作:将最后一个字符移到第一个字符的位置,并且将其他所有字符向右移一个位置。
比如:如果字符串 s 是 abacaba
,一个任务为 l1=3,r1=6,k1=1,那么答案为 abbacaa
。接下来一个任务为 l2=1,r2=4,k2=2,那么我们会得到 baabcaa
。
输入格式
第一行一个字符串 s,该字符串只包含小写英文字符。
第二行一个整数 m,表示任务个数。
接下来 m 行每行有三个整数 li,ri 和 ki。
输出格式
输出执行了 m 个任务后的最终的字符串 s。
样例输入
abacaba
2
3 6 1
1 4 2
样例输出
baabcaa
数据规模
对于所有数据保证,1≤∣s∣≤10000(∣s∣ 表示字符串 s 的长度),1≤m≤300,1≤li≤ri≤∣s∣,1≤ki≤1000000。