#include <bits/stdc++.h>
using namespace std;
struct data {
  int pos;
  char val;
};
data a[10001];
bool sortby(const data &a, const data &b) { return a.pos < b.pos; }
int main() {
  string s;
  cin >> s;
  for (int i = 0; i < s.length(); i++) {
    a[i].pos = i;
    a[i].val = s[i];
  }
  int m;
  cin >> m;
  while (m--) {
    int l, r, k;
    cin >> l >> r >> k;
    l--, r--;
    int n = r - l + 1;
    k %= n;
    for (int i = 0; i < s.length(); i++) {
      if (a[i].pos >= l && a[i].pos <= r) {
        a[i].pos += k;
        if (a[i].pos > r) {
          a[i].pos = l + a[i].pos - r - 1;
        }
      }
    }
  }
  sort(a, a + s.length(), sortby);
  for (int i = 0; i < s.length(); i++) cout << a[i].val;
  return 0;
}
