program formula1;
type elenco = array[1..200000] of qword;
var N,Q,i,j, pos, ans :qword;
a, b, c :array[1..2000] of qword;
p, t, valore, id : elenco;
function calcolavalore (aa,bb,cc,tt:qword): qword;
begin
calcolavalore:=aa*tt*tt+bb*tt+cc;
end;
Procedure scambia (var aa,bb: qword);
var x:qword;
begin
x:=aa;
aa:=bb;
bb:=x;
end;
Procedure ordinamento (estremoi,estremos: qword; var v : elenco;var u : elenco; ordinato:boolean);
var inf, sup, medio:qword;
pivot :qword;
begin
inf:=estremoi;
sup:=estremos;
medio:= (estremoi+estremos) div 2;
pivot:=v[medio];
repeat
if (ordinato) then
begin
while (v[inf]>pivot) do inf:=inf+1;
while (v[sup]<pivot) do sup:=sup-1;
end;
if inf<=sup then
begin
scambia(v[inf],v[sup]);
scambia(u[inf],u[sup]);
inf:=inf+1;
sup:=sup-1;
end;
until inf>sup;
if (estremoi<sup) then ordinamento(estremoi,sup,v,u,ordinato);
if (inf<estremos) then ordinamento(inf,estremos,v,u,ordinato);
end;
Procedure ordinamento1 (estremoi,estremos: qword; var v : elenco; ordinato:boolean);
var inf, sup, medio:qword;
pivot :qword;
begin
inf:=estremoi;
sup:=estremos;
medio:= (estremoi+estremos) div 2;
pivot:=v[medio];
repeat
if (ordinato) then
begin
while (v[inf]<pivot) do inf:=inf+1;
while (v[sup]>pivot) do sup:=sup-1;
end;
if inf<=sup then
begin
scambia(v[inf],v[sup]);
inf:=inf+1;
sup:=sup-1;
end;
until inf>sup;
if (estremoi<sup) then ordinamento1(estremoi,sup,v,ordinato);
if (inf<estremos) then ordinamento1(inf,estremos,v,ordinato);
end;
procedure controlla (var v: elenco; var u : elenco);
var h, w,z, inff,supp : qword;
temp : elenco;
begin
h:=1;
while ((v[h]<>v[pos]) and (h<=N)) do h:=h+1;
inff:=h;
w:=N;
while ((v[w]<>v[pos]) and (w>=1)) do w:=w-1;
supp:=w;
z:=1;
if inff=supp then ans:=u[pos]
else
begin
for h:=inff to supp do
begin
temp[z]:=u[h];
z:=z+1;
end;
ordinamento1(1,z-1,temp,true);
ans:=temp[pos-inff+1] ;
end;
end;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);*)
readln(N);
for i:=1 to N do readln(a[i],b[i],c[i]);
readln(Q);
for i:=1 to Q do
begin
readln (p[i],t[i]);
pos:=p[i];
for j:=1 to N do begin valore[j]:=0; id[j]:=j; end;
for j:=1 to N do valore[j]:=calcolavalore(a[j],b[j],c[j],t[i]);
ordinamento(1,N,valore, id, true);
controlla (valore, id);
writeln(ans);
end;
end.
cHJvZ3JhbSBmb3JtdWxhMTsKdHlwZSBlbGVuY28gPSBhcnJheVsxLi4yMDAwMDBdIG9mIHF3b3JkOwp2YXIgTixRLGksaiwgcG9zLCBhbnMgOnF3b3JkOwogICAgYSwgYiwgYyA6YXJyYXlbMS4uMjAwMF0gb2YgcXdvcmQ7CiAgICBwLCB0LCB2YWxvcmUsIGlkIDogZWxlbmNvOwogICAgCmZ1bmN0aW9uIGNhbGNvbGF2YWxvcmUgKGFhLGJiLGNjLHR0OnF3b3JkKTogcXdvcmQ7CgpiZWdpbgogICBjYWxjb2xhdmFsb3JlOj1hYSp0dCp0dCtiYip0dCtjYzsKZW5kOyAgIAogICAgClByb2NlZHVyZSBzY2FtYmlhICh2YXIgYWEsYmI6IHF3b3JkKTsKdmFyIHg6cXdvcmQ7CmJlZ2luCiAgIHg6PWFhOwogICBhYTo9YmI7CiAgIGJiOj14OwplbmQ7ICAKUHJvY2VkdXJlIG9yZGluYW1lbnRvIChlc3RyZW1vaSxlc3RyZW1vczogcXdvcmQ7IHZhciB2IDogZWxlbmNvO3ZhciB1IDogZWxlbmNvOyBvcmRpbmF0bzpib29sZWFuKTsgCnZhciBpbmYsIHN1cCwgbWVkaW86cXdvcmQ7CiAgICBwaXZvdCA6cXdvcmQ7CmJlZ2luCiAgICBpbmY6PWVzdHJlbW9pOwogICAgc3VwOj1lc3RyZW1vczsKICAgIG1lZGlvOj0gKGVzdHJlbW9pK2VzdHJlbW9zKSBkaXYgMjsKICAgIHBpdm90Oj12W21lZGlvXTsKICAgIHJlcGVhdAogICAgICBpZiAob3JkaW5hdG8pIHRoZW4KICAgICAgICAgYmVnaW4KICAgICAgICAgICAgd2hpbGUgKHZbaW5mXT5waXZvdCkgZG8gIGluZjo9aW5mKzE7CiAgICAgICAgICAgIHdoaWxlICh2W3N1cF08cGl2b3QpIGRvICBzdXA6PXN1cC0xOwogICAgICAgICBlbmQ7CiAgICAgIGlmIGluZjw9c3VwIHRoZW4KICAgICAgIGJlZ2luCiAgICAgICAgIHNjYW1iaWEodltpbmZdLHZbc3VwXSk7CiAgICAgICAgIHNjYW1iaWEodVtpbmZdLHVbc3VwXSk7CiAgICAgICAgIGluZjo9aW5mKzE7CiAgICAgICAgIHN1cDo9c3VwLTE7CiAgICAgICBlbmQ7CiAgICB1bnRpbCBpbmY+c3VwOwogICAgaWYgKGVzdHJlbW9pPHN1cCkgdGhlbiBvcmRpbmFtZW50byhlc3RyZW1vaSxzdXAsdix1LG9yZGluYXRvKTsKICAgIGlmIChpbmY8ZXN0cmVtb3MpIHRoZW4gb3JkaW5hbWVudG8oaW5mLGVzdHJlbW9zLHYsdSxvcmRpbmF0byk7CmVuZDsKUHJvY2VkdXJlIG9yZGluYW1lbnRvMSAoZXN0cmVtb2ksZXN0cmVtb3M6IHF3b3JkOyB2YXIgdiA6IGVsZW5jbzsgb3JkaW5hdG86Ym9vbGVhbik7IAp2YXIgaW5mLCBzdXAsIG1lZGlvOnF3b3JkOwogICAgcGl2b3QgOnF3b3JkOwpiZWdpbgogICAgaW5mOj1lc3RyZW1vaTsKICAgIHN1cDo9ZXN0cmVtb3M7CiAgICBtZWRpbzo9IChlc3RyZW1vaStlc3RyZW1vcykgZGl2IDI7CiAgICBwaXZvdDo9dlttZWRpb107CiAgICByZXBlYXQKICAgICAgaWYgKG9yZGluYXRvKSB0aGVuCiAgICAgICAgIGJlZ2luCiAgICAgICAgICAgIHdoaWxlICh2W2luZl08cGl2b3QpIGRvICBpbmY6PWluZisxOwogICAgICAgICAgICB3aGlsZSAodltzdXBdPnBpdm90KSBkbyAgc3VwOj1zdXAtMTsKICAgICAgICAgZW5kOwogICAgICBpZiBpbmY8PXN1cCB0aGVuCiAgICAgICBiZWdpbgogICAgICAgICBzY2FtYmlhKHZbaW5mXSx2W3N1cF0pOwogICAgICAgICBpbmY6PWluZisxOwogICAgICAgICBzdXA6PXN1cC0xOwogICAgICAgZW5kOwogICAgdW50aWwgaW5mPnN1cDsKICAgIGlmIChlc3RyZW1vaTxzdXApIHRoZW4gb3JkaW5hbWVudG8xKGVzdHJlbW9pLHN1cCx2LG9yZGluYXRvKTsKICAgIGlmIChpbmY8ZXN0cmVtb3MpIHRoZW4gb3JkaW5hbWVudG8xKGluZixlc3RyZW1vcyx2LG9yZGluYXRvKTsKZW5kOwpwcm9jZWR1cmUgY29udHJvbGxhICh2YXIgdjogZWxlbmNvOyB2YXIgdSA6IGVsZW5jbyk7CnZhciBoLCB3LHosIGluZmYsc3VwcCA6IHF3b3JkOwogICAgdGVtcCA6IGVsZW5jbzsgICAgICAgICAgICAgICAgICAKYmVnaW4KICAgIGg6PTE7IAogICAgd2hpbGUgKCh2W2hdPD52W3Bvc10pIGFuZCAoaDw9TikpICBkbyBoOj1oKzE7CiAgICBpbmZmOj1oOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICB3Oj1OOwogICAgd2hpbGUgKCh2W3ddPD52W3Bvc10pIGFuZCAodz49MSkpICBkbyB3Oj13LTE7CiAgICBzdXBwOj13OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgejo9MTsKICAgIGlmIGluZmY9c3VwcCB0aGVuICBhbnM6PXVbcG9zXSAgICAgICAKICAgICAgICAgICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICBmb3IgaDo9aW5mZiB0byBzdXBwIGRvIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wW3pdOj11W2hdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgejo9eisxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICAgICAgb3JkaW5hbWVudG8xKDEsei0xLHRlbXAsdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgIGFuczo9dGVtcFtwb3MtaW5mZisxXSA7IAogICAgICAgICAgICAgICAgIGVuZDsgICAKZW5kOyAKCmJlZ2luCiAgICAgICAgKCphc3NpZ24oaW5wdXQsICAnaW5wdXQudHh0Jyk7ICByZXNldChpbnB1dCk7CiAgICAgICAgYXNzaWduKG91dHB1dCwgJ291dHB1dC50eHQnKTsgcmV3cml0ZShvdXRwdXQpOyopCQogICAgICAgIHJlYWRsbihOKTsKCWZvciBpOj0xIHRvIE4gZG8gcmVhZGxuKGFbaV0sYltpXSxjW2ldKTsgCglyZWFkbG4oUSk7Cglmb3IgaTo9MSB0byBRIGRvCgkgICAgICAgICAgICAgIGJlZ2luCgkgICAgICAgICAgICAgICAgcmVhZGxuIChwW2ldLHRbaV0pOyAKCSAgICAgICAgICAgICAgICBwb3M6PXBbaV07CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBqOj0xIHRvIE4gZG8gYmVnaW4gdmFsb3JlW2pdOj0wOyBpZFtqXTo9ajsgZW5kOwoJICAgICAgICAgICAgICAgIGZvciBqOj0xIHRvIE4gZG8gdmFsb3JlW2pdOj1jYWxjb2xhdmFsb3JlKGFbal0sYltqXSxjW2pdLHRbaV0pOwoJICAgICAgICAgICAgICAgIG9yZGluYW1lbnRvKDEsTix2YWxvcmUsIGlkLCB0cnVlKTsKCSAgICAgICAgICAgICAgICBjb250cm9sbGEgKHZhbG9yZSwgaWQpOwoJICAgICAgICAgICAgICAgIHdyaXRlbG4oYW5zKTsJICAgICAgICAgICAgICAgIAoJICAgICAgICAgICAgICBlbmQ7CgkgICAgICAgICAgICAgIAplbmQu