# include <cstdio>
# include <queue>
# include <string.h>
# include <stdlib.h>
# include <algorithm>
using namespace std;
# define FIN "nums.in"
# define FOUT "nums.out"
# define max(a, b) (a > b ? a : b)
# define MAX_N 100005
int A[MAX_N << 1];
char t[MAX_N], *s[MAX_N];
int N, i, j, op, cnt, len, bnd, k, c, cnz;
int ct[MAX_N], *nums[MAX_N], aux[MAX_N], zero[MAX_N], zk[MAX_N];
int cmp(int A, int B)
{
if (strcmp(s[A], s[B]) < 0) return 1;
return 0;
}
void update(int Nod, int St, int Dr, int Pz)
{
if (St == Dr)
{
A[Nod] = 1;
return;
}
int Mij = (St + Dr) >> 1;
if (Pz <= Mij) update(Nod << 1, St, Mij, Pz);
else update(Nod << 1 | 1, Mij + 1, Dr, Pz);
A[Nod] = A[Nod << 1] + A[Nod << 1 | 1];
}
int query(int Nod, int St, int Dr, int K)
{
if (St == Dr) return St;
int Mij = (St + Dr) >> 1;
if (A[Nod << 1] >= K) return query(Nod << 1, St, Mij, K);
else return query(Nod << 1 | 1, Mij + 1, Dr, K - A[Nod << 1]);
}
int main()
{
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &N);
cnt = 0; cnz = 0;
for (i = 1; i <= N; ++i)
{
scanf("%d ", &op);
if (op == 1)
{
gets(t);
++ct[len = strlen(t)];
bnd = max(bnd, len);
s[++cnt] = (char *) malloc(len + 1);
for (j = 0; j <= len; ++j) s[cnt][j] = t[j];
} else
{
scanf("%d", &zk[++cnz]);
zero[cnz] = cnt;
}
}
for (i = 1; i <= bnd; ++i) nums[i] = (int *) malloc((ct[i] + 1) * sizeof(int)), nums[i][0] = 0;
for (i = 1; i <= cnt; ++i)
{
len = strlen(s[i]);
nums[len][++nums[len][0]] = i;
}
for (i = 1; i <= bnd; ++i)
if (ct[i]) sort(nums[i] + 1, nums[i] + nums[i][0] + 1, cmp);
int dnt = 0;
for (i = 1; i <= bnd; ++i)
if (ct[i])
{
aux[nums[i][1]] = ++dnt;
for (j = 2; j <= nums[i][0]; ++j)
{
for (k = 0; k < i; ++k)
if (s[nums[i][j]][k] != s[nums[i][j - 1]][k]) break;
if (k != i) aux[nums[i][j]] = ++dnt;
else aux[nums[i][j]] = dnt;
}
}
for (i = 1; i <= cnt; ++i) ct[aux[i]] = i;
c = 0;
for (i = 1; i <= cnz; ++i)
{
while (c != zero[i]) update(1, 1, dnt, aux[++c]);
printf("%s\n", s[ct[query(1, 1, dnt, zk[i])]]);
}
/*for (i = 1; i <= dnt; ++i)
printf("%s\n", s[ct[i]]);*/
//for (i = 1; i <= cnt; ++i) printf("%s\n", s[i]);*/
return 0;
}