#include <bits/stdc++.h>
int n, m, w, c[3000005], l[3000005], r[3000005], next[3000005], fa[3000005];
char s[3000005], ans[3000005];
int dec(int x) {
  for (; x <= n; x += x & -x) c[x]--;
}
int ask(int k) {
  int x = 0;
  for (int i = 1 << 21; i; i >>= 1)
    if (x + i <= n && c[x + i] < k) k -= c[x += i];
  return x + 1;
}
int main() {
  int ttt = clock();
  scanf("%s%d%d", s, &n, &m);
  for (int i = 1; i <= n; i++) c[i] = i & -i, next[i] = i + 1;
  for (int i = 0; i < m; i++) scanf("%d%d", &l[i], &r[i]);
  while (m--) {
    int len = r[m] - l[m] + 1, s1 = len / 2, s2 = len - s1, i = ask(r[m]),
        j = ask(l[m]), I = i, J = j;
    if (i >= n) continue;
    i = next[i], j = next[j];
    while (s1-- && i <= n) fa[i] = j, dec(i), i = next[i], j = next[next[j]];
    j = J;
    while (s2-- && i <= n)
      fa[i] = j, dec(i), i = next[i], j = s2 ? next[next[j]] : j;
    if (!(len & 1)) j = next[j];
    next[i > n ? I : j] = i;
  }
  for (int i = 1; i <= n; i++) ans[i] = fa[i] ? ans[fa[i]] : s[w++];
  puts(ans + 1);
  return 0;
}
