#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int cmp(const void *a, const void *b) { return *((int *)a) - *((int *)b); }
bool line[200000] = {false};
int m[450][26] = {0};
int main() {
  int k = 0, n = 0;
  int pos = 0, len = 0, total_len = 0;
  char ltr = 0;
  char token[256];
  scanf("%d", &k);
  scanf("%s", token);
  scanf("%d", &n);
  len = strlen(token);
  total_len = len * k;
  int part_len = sqrtf(total_len);
  int num_of_parts = total_len / part_len;
  if (total_len % part_len) num_of_parts++;
  for (int i = 0; i < k; i++)
    for (int j = 0; j < len; j++) {
      m[((i * len + j) / part_len)][token[j] - 'a']++;
    }
  for (int t = 0; t < n; t++) {
    scanf("%d %c", &pos, &ltr);
    int count = 0;
    for (int i = 0; i < num_of_parts; i++) {
      if (count + m[i][ltr - 'a'] >= pos) {
        int begin = i * part_len;
        int skip = pos - count;
        m[i][ltr - 'a']--;
        int c = 0;
        for (;; begin++)
          if ((token[begin % len] == ltr) && !line[begin]) {
            c++;
            if (skip == c) {
              line[begin] = true;
              goto OUT;
            }
          }
      } else
        count += m[i][ltr - 'a'];
    }
  OUT:;
  }
  for (int i = 0; i < total_len; i++)
    if (!line[i]) printf("%c", token[i % len]);
  printf("\n");
  return 0;
}
