#include <bits/stdc++.h>
using namespace std;
int i, j;
int n, sz, k, x, tmp;
char s[2000010];
string t;
set<int> pos;
void code() {
  cin >> n;
  for (i = 0; i < 2000010; i++) pos.insert(i);
  for (i = 0; i < n; i++) {
    cin >> t >> k;
    tmp = t.length();
    for (j = 0; j < k; j++) {
      cin >> x;
      x--;
      sz = max(sz, x + tmp);
      auto it = pos.lower_bound(x);
      while (it != pos.end() && *it < (x + tmp)) {
        s[*it] = t[*it - x];
        pos.erase(it++);
      }
    }
  }
  for (i = 0; i < sz; i++)
    if (s[i] == '\0') s[i] = 'a';
  puts(s);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    code();
  }
}
