CF598B Queries on a String

题目描述

给你一个字符串 $s$,接着有 $m$ 次循环移位。 循环移位的一个操作就是将 $s$ 的最后一个字符移动到第一个字符的位置,并且将所有其他的字符向右移动一个位置。 例如,$s=$ `abacaba`,查询是 $L_1=3,R_1=6,K_1=1$,那么答案是 `abbacaa`(解释:从 $s$ 第三个位置到第六个位置 `acab`,循环 $1$ 次,把 $b$ 移到第一位,其他往后移一位,就是 `baca`,替换之前的 `acab`),之后如果我们再做处理 $L_2=1,R_2=4,K_2=2$,那么答案就变 `baabcaa`(解释:首先从第一个位置到第四个位置 `abba`,第一次通过移位得到 `aabb`,第二次就得到 `baab`,替换之前的 `abba`)。

输入格式

第一行一个字符串 $s$($1\le|s|\le 10000$),$s$ 全是小写字母; 第二行一个整数 $m$($1 \le m \le 300$),有 $m$ 个查询; 接下来有 $m$ 行,包含三个整数 $L_i,R_i,K_i$($1\le L_i\le R_i\le|s|, K_i

输出格式

输出经过 $m$ 个查询的 $s$。

说明/提示

The sample is described in problem statement.