#include <bits/stdc++.h>
using namespace std;
template <class T>
void dbgarr(T *a, int s, int t) {
  for (int i = s; i <= t; i++) cerr << a[i] << ' ';
  cerr << endl;
}
template <typename T>
T gcd(T x, T y) {
  if (y == 0)
    return x;
  else
    return gcd(y, x % y);
}
int main() {
  string s;
  cin >> s;
  int m;
  cin >> m;
  while (m--) {
    int l, r, k;
    cin >> l >> r >> k;
    k %= (r - l + 1);
    l--;
    r--;
    string temp;
    int x = r;
    s = s.substr(0, l) + s.substr(r - k + 1, k) + s.substr(l, r - l - k + 1) +
        s.substr(r + 1, s.size() - r - 1);
  }
  cout << s << endl;
  return 0;
}
