//RP test
var
key,lc,rc,sum,aux:array[0..500000] of longint;
count,x,len,tmp:longint;
root,total,a,n,ta,tb:longint;
procedure rotl(var k:longint);
var
t:longint;
begin
t:=rc[k];
rc[k]:=lc[t];
lc[t]:=k;
sum[k]:=sum[lc[k]]+sum[rc[k]]+1;
sum[t]:=sum[lc[t]]+sum[rc[t]]+1;
k:=t;
end;
procedure rotr(var k:longint);
var
t:longint;
begin
t:=lc[k];
lc[k]:=rc[t];
rc[t]:=k;
sum[k]:=sum[lc[k]]+sum[rc[k]]+1;
sum[t]:=sum[lc[t]]+sum[rc[t]]+1;
k:=t;
end;
procedure insert(var k:longint);
begin
if k=0 then
begin
inc(len);
k:=len;
key[k]:=x;
lc[k]:=0; rc[k]:=0; sum[k]:=1;
aux[k]:=random(1000000);
exit;
end;
if x<key[k] then
begin
inc(sum[k]);
insert(lc[k]);
if aux[lc[k]]<aux[k] then rotr(k);
end
else
begin
inc(sum[k]);
insert(rc[k]);
if aux[rc[k]]<aux[k] then rotl(k);
end;
end;
procedure remove(var k:longint);
begin
if k=0 then
begin
exit;
end;
if x=key[k] then
begin
if (lc[k]=0) or (rc[k]=0) then
begin
if lc[k]=0 then k:=rc[k]
else k:=lc[k]
end
else
begin
rotl(k);
dec(sum[k]);
remove(lc[k]);
end;
end
else
begin
dec(sum[k]);
if x<key[k] then remove(lc[k])
else remove(rc[k]);
end;
end;
procedure find(k:longint);
begin
if count+sum[k]-sum[rc[k]]=x then tmp:=key[k]
else
begin
if count+sum[k]-sum[rc[k]]<x then
begin
inc(count,sum[k]-sum[rc[k]]);
find(rc[k]);
end
else find(lc[k]);
end;
end;
begin
fillchar(key,sizeof(key),0);
fillchar(sum,sizeof(sum),0);
fillchar(lc,sizeof(lc),0);
fillchar(rc,sizeof(rc),0);
randomize;
root:=0; total:=1; len:=0;
x:=maxlongint;
insert(root);
readln(n);
for a:=1 to n do
begin
readln(ta,tb);
if ta>total then ta:=total;
x:=total+1-ta;
count:=0;
find(root);
if tmp<=tb then
begin
writeln('archer');
dec(total);
x:=tmp;
remove(root);
end
else
begin
writeln('facer');
inc(total);
x:=tb;
insert(root);
end;
end;
end.//tank
var
key,lc,rc,sum,aux:array[0..500000] of longint;
count,x,len,tmp:longint;
root,total,a,n,ta,tb:longint;
procedure rotl(var k:longint);
var
t:longint;
begin
t:=rc[k];
rc[k]:=lc[t];
lc[t]:=k;
sum[k]:=sum[lc[k]]+sum[rc[k]]+1;
sum[t]:=sum[lc[t]]+sum[rc[t]]+1;
k:=t;
end;
procedure rotr(var k:longint);
var
t:longint;
begin
t:=lc[k];
lc[k]:=rc[t];
rc[t]:=k;
sum[k]:=sum[lc[k]]+sum[rc[k]]+1;
sum[t]:=sum[lc[t]]+sum[rc[t]]+1;
k:=t;
end;
procedure insert(var k:longint);
begin
if k=0 then
begin
inc(len);
k:=len;
key[k]:=x;
lc[k]:=0; rc[k]:=0; sum[k]:=1;
aux[k]:=random(1000000);
exit;
end;
if x<key[k] then
begin
inc(sum[k]);
insert(lc[k]);
if aux[lc[k]]<aux[k] then rotr(k);
end
else
begin
inc(sum[k]);
insert(rc[k]);
if aux[rc[k]]<aux[k] then rotl(k);
end;
end;
procedure remove(var k:longint);
begin
if k=0 then
begin
exit;
end;
if x=key[k] then
begin
if (lc[k]=0) or (rc[k]=0) then
begin
if lc[k]=0 then k:=rc[k]
else k:=lc[k]
end
else
begin
rotl(k);
dec(sum[k]);
remove(lc[k]);
end;
end
else
begin
dec(sum[k]);
if x<key[k] then remove(lc[k])
else remove(rc[k]);
end;
end;
procedure find(k:longint);
begin
if count+sum[k]-sum[rc[k]]=x then tmp:=key[k]
else
begin
if count+sum[k]-sum[rc[k]]<x then
begin
inc(count,sum[k]-sum[rc[k]]);
find(rc[k]);
end
else find(lc[k]);
end;
end;
begin
fillchar(key,sizeof(key),0);
fillchar(sum,sizeof(sum),0);
fillchar(lc,sizeof(lc),0);
fillchar(rc,sizeof(rc),0);
randomize;
root:=0; total:=1; len:=0;
x:=maxlongint;
insert(root);
readln(n);
for a:=1 to n do
begin
readln(ta,tb);
if ta>total then ta:=total;
x:=total+1-ta;
count:=0;
find(root);
if tmp<=tb then
begin
writeln('archer');
dec(total);
x:=tmp;
remove(root);
end
else
begin
writeln('facer');
inc(total);
x:=tb;
insert(root);
end;
end;
end.//tank