{
TASK:music
LANG:Pascal
}

type Member = record
  Name: String;
  Bal: Real;
end;

type Masiv = array[1..10000] of Member;

var
  a: Masiv;
  beg,en: Integer;
  n,m,k: Integer;
  i,j: Integer;
  ch: Char;
  str: String;

procedure push(numb: Integer);
var
  swaps: String;
  swapr: Real;
  p,t: Integer;

begin
  p:= numb-1;
if p > 0 then
begin
  while (a[numb].Bal > a[p].Bal) and (a[p].Bal <> 0) do
  begin
    p:= p-1;
    if p < 1 then
      p:= 10000;
  end;
if p <> numb-1 then
begin
  if p = 10000 then
    p:= 1;
  t:= numb;
  repeat
    t:= t-1;
    if t>0 then
    begin
      swaps:= a[t+1].Name;
      a[t+1].Name:= a[t].Name;
      a[t].Name:= swaps;

      swapr:= a[t+1].Bal;
      a[t+1].Bal:= a[t].Bal;
      a[t].Bal:= swapr;
    end
    else
      if t=0 then
      begin
        swaps:= a[10000].Name;
        a[10000].Name:= a[1].Name;
        a[1].Name:= swaps;

        swapr:= a[10000].Bal;
        a[10000].Bal:= a[1].Bal;
        a[1].Bal:= swapr;
        t:= 9999;
      end;
  until t = p;
end;
end;
end;


procedure input;
begin
  readln(n);
  for i:= 1 to 10000 do
    a[i].Bal:= 0;
  beg:= 1; en:= 1;
  for i:= 1 to n do
  begin
    read(m);
    for j:= 1 to m do
    begin
      str:= '';
      read(ch);
      repeat
        read(ch);
        if ch <> ' ' then
          str:= str+ch;
      until ch = ' ';

      a[en].Name:= str;;
      read(a[en].Bal);
      push(en);
      en:= en+1;
      if en > 10000 then
        en:= 1;
    end;

    readln(k);
    if beg + k > 10000 then
      beg:= beg - 10000 + k
    else
      beg:= beg+k;
  end;
end;

procedure output;
begin
  writeln(a[beg].Name);
end;

begin
  input;
  output;
end.
