#include <bits/stdc++.h>
using namespace std;
int M, N;
struct per {
  int i1, i2;
};
int v[100005];
vector<per> lista;
int main() {
  int poz = 0, k = 0, op, j, l, i;
  cin >> M;
  for (poz = 1; poz <= M; poz++) {
    cin >> op;
    if (op == 1) {
      per nou;
      cin >> nou.i1;
      if (k < 100000) v[++k] = nou.i1;
      nou.i2 = 0;
      lista.push_back(nou);
    } else {
      per nou;
      cin >> nou.i1;
      cin >> nou.i2;
      lista.push_back(nou);
      for (j = 1; j <= nou.i2 && k <= 100000; j++)
        for (l = 1; l <= nou.i1 && k <= 100000; l++) v[++k] = v[l];
    }
  }
  long long nr, c = 0;
  cin >> N;
  int jf = 0;
  for (i = 1; i <= N; i++) {
    cin >> nr;
    nr -= c;
    while (nr) {
      if (lista[jf].i2 == 0) {
        if (nr == 1) cout << lista[jf].i1 << " ";
        nr--;
        jf++;
        c++;
      } else {
        int cate = lista[jf].i1 * lista[jf].i2;
        if (nr > cate) {
          nr -= cate;
          jf++;
          c += cate;
        } else {
          nr = nr % lista[jf].i1;
          if (nr == 0) nr = lista[jf].i1;
          cout << v[nr] << " ";
          nr = 0;
        }
      }
    }
  }
  return 0;
}
