#include <bits/stdc++.h>
using namespace std;
char s[3000000], t[3000000];
int main() {
  for (int i = 0; i < 3000000; i++) s[i] = 'a';
  int n;
  scanf("%d", &n);
  int maxl = 0;
  while (n--) {
    scanf("%s", t);
    int len = strlen(t);
    int pre = -len;
    int m;
    scanf("%d", &m);
    while (m--) {
      int a;
      scanf("%d", &a);
      a--;
      for (int i = max(0, len + pre - a); i < len; i++) {
        s[i + a] = t[i];
      }
      pre = a;
      maxl = max(maxl, a + len);
    }
  }
  for (int i = 0; i < maxl; i++) printf("%c", s[i]);
  return 0;
}
