program formula1;
type elenco = array[1..2000] of qword;
var N,Q,p,t,i,j, pos, ans :qword;
a, b, c :array[1..2000] of qword;
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,t);
pos:=p;
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);
ordinamento(1,N,valore, id, true);
controlla (valore, id);
writeln(ans);
end;
end.
cHJvZ3JhbSBmb3JtdWxhMTsKdHlwZSBlbGVuY28gPSBhcnJheVsxLi4yMDAwXSBvZiBxd29yZDsKdmFyIE4sUSxwLHQsaSxqLCBwb3MsIGFucyA6cXdvcmQ7CiAgICBhLCBiLCBjIDphcnJheVsxLi4yMDAwXSBvZiBxd29yZDsKICAgIHZhbG9yZSwgaWQgOiBlbGVuY287CiAgICAKZnVuY3Rpb24gY2FsY29sYXZhbG9yZSAoYWEsYmIsY2MsdHQ6cXdvcmQpOiBxd29yZDsKCmJlZ2luCiAgIGNhbGNvbGF2YWxvcmU6PWFhKnR0KnR0K2JiKnR0K2NjOwplbmQ7ICAgCiAgICAKUHJvY2VkdXJlIHNjYW1iaWEgKHZhciBhYSxiYjogcXdvcmQpOwp2YXIgeDpxd29yZDsKYmVnaW4KICAgeDo9YWE7CiAgIGFhOj1iYjsKICAgYmI6PXg7CmVuZDsgIApQcm9jZWR1cmUgb3JkaW5hbWVudG8gKGVzdHJlbW9pLGVzdHJlbW9zOiBxd29yZDsgdmFyIHYgOiBlbGVuY287dmFyIHUgOiBlbGVuY287IG9yZGluYXRvOmJvb2xlYW4pOyAKdmFyIGluZiwgc3VwLCBtZWRpbzpxd29yZDsKICAgIHBpdm90IDpxd29yZDsKYmVnaW4KICAgIGluZjo9ZXN0cmVtb2k7CiAgICBzdXA6PWVzdHJlbW9zOwogICAgbWVkaW86PSAoZXN0cmVtb2krZXN0cmVtb3MpIGRpdiAyOwogICAgcGl2b3Q6PXZbbWVkaW9dOwogICAgcmVwZWF0CiAgICAgIGlmIChvcmRpbmF0bykgdGhlbgogICAgICAgICBiZWdpbgogICAgICAgICAgICB3aGlsZSAodltpbmZdPnBpdm90KSBkbyAgaW5mOj1pbmYrMTsKICAgICAgICAgICAgd2hpbGUgKHZbc3VwXTxwaXZvdCkgZG8gIHN1cDo9c3VwLTE7CiAgICAgICAgIGVuZDsKICAgICAgaWYgaW5mPD1zdXAgdGhlbgogICAgICAgYmVnaW4KICAgICAgICAgc2NhbWJpYSh2W2luZl0sdltzdXBdKTsKICAgICAgICAgc2NhbWJpYSh1W2luZl0sdVtzdXBdKTsKICAgICAgICAgaW5mOj1pbmYrMTsKICAgICAgICAgc3VwOj1zdXAtMTsKICAgICAgIGVuZDsKICAgIHVudGlsIGluZj5zdXA7CiAgICBpZiAoZXN0cmVtb2k8c3VwKSB0aGVuIG9yZGluYW1lbnRvKGVzdHJlbW9pLHN1cCx2LHUsb3JkaW5hdG8pOwogICAgaWYgKGluZjxlc3RyZW1vcykgdGhlbiBvcmRpbmFtZW50byhpbmYsZXN0cmVtb3Msdix1LG9yZGluYXRvKTsKZW5kOwpQcm9jZWR1cmUgb3JkaW5hbWVudG8xIChlc3RyZW1vaSxlc3RyZW1vczogcXdvcmQ7IHZhciB2IDogZWxlbmNvOyBvcmRpbmF0bzpib29sZWFuKTsgCnZhciBpbmYsIHN1cCwgbWVkaW86cXdvcmQ7CiAgICBwaXZvdCA6cXdvcmQ7CmJlZ2luCiAgICBpbmY6PWVzdHJlbW9pOwogICAgc3VwOj1lc3RyZW1vczsKICAgIG1lZGlvOj0gKGVzdHJlbW9pK2VzdHJlbW9zKSBkaXYgMjsKICAgIHBpdm90Oj12W21lZGlvXTsKICAgIHJlcGVhdAogICAgICBpZiAob3JkaW5hdG8pIHRoZW4KICAgICAgICAgYmVnaW4KICAgICAgICAgICAgd2hpbGUgKHZbaW5mXTxwaXZvdCkgZG8gIGluZjo9aW5mKzE7CiAgICAgICAgICAgIHdoaWxlICh2W3N1cF0+cGl2b3QpIGRvICBzdXA6PXN1cC0xOwogICAgICAgICBlbmQ7CiAgICAgIGlmIGluZjw9c3VwIHRoZW4KICAgICAgIGJlZ2luCiAgICAgICAgIHNjYW1iaWEodltpbmZdLHZbc3VwXSk7CiAgICAgICAgIGluZjo9aW5mKzE7CiAgICAgICAgIHN1cDo9c3VwLTE7CiAgICAgICBlbmQ7CiAgICB1bnRpbCBpbmY+c3VwOwogICAgaWYgKGVzdHJlbW9pPHN1cCkgdGhlbiBvcmRpbmFtZW50bzEoZXN0cmVtb2ksc3VwLHYsb3JkaW5hdG8pOwogICAgaWYgKGluZjxlc3RyZW1vcykgdGhlbiBvcmRpbmFtZW50bzEoaW5mLGVzdHJlbW9zLHYsb3JkaW5hdG8pOwplbmQ7CnByb2NlZHVyZSBjb250cm9sbGEgKHZhciB2OiBlbGVuY287IHZhciB1IDogZWxlbmNvKTsKdmFyIGgsIHcseiwgaW5mZixzdXBwIDogcXdvcmQ7CiAgICB0ZW1wIDogZWxlbmNvOyAgICAgICAgICAgICAgICAgIApiZWdpbgogICAgaDo9MTsgCiAgICB3aGlsZSAoKHZbaF08PnZbcG9zXSkgYW5kIChoPD1OKSkgIGRvIGg6PWgrMTsKICAgIGluZmY6PWg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIHc6PU47CiAgICB3aGlsZSAoKHZbd108PnZbcG9zXSkgYW5kICh3Pj0xKSkgIGRvIHc6PXctMTsKICAgIHN1cHA6PXc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICB6Oj0xOwogICAgaWYgaW5mZj1zdXBwIHRoZW4gIGFuczo9dVtwb3NdICAgICAgIAogICAgICAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgIGZvciBoOj1pbmZmIHRvIHN1cHAgZG8gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBbel06PXVbaF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6Oj16KzE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICAgICAgICAgICBvcmRpbmFtZW50bzEoMSx6LTEsdGVtcCx0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgYW5zOj10ZW1wW3Bvcy1pbmZmKzFdIDsgCiAgICAgICAgICAgICAgICAgZW5kOyAgIAplbmQ7IAoKYmVnaW4KICAgICAgICAoKmFzc2lnbihpbnB1dCwgICdpbnB1dC50eHQnKTsgIHJlc2V0KGlucHV0KTsKICAgICAgICBhc3NpZ24ob3V0cHV0LCAnb3V0cHV0LnR4dCcpOyByZXdyaXRlKG91dHB1dCk7CSopCiAgICAgICAgcmVhZGxuKE4pOwoJZm9yIGk6PTEgdG8gTiBkbyByZWFkbG4oYVtpXSxiW2ldLGNbaV0pOyAKCXJlYWRsbihRKTsKCWZvciBpOj0xIHRvIFEgZG8KCSAgICAgICAgICAgICAgYmVnaW4KCSAgICAgICAgICAgICAgICByZWFkbG4gKHAsdCk7IAoJICAgICAgICAgICAgICAgIHBvczo9cDsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGo6PTEgdG8gTiBkbyBiZWdpbiB2YWxvcmVbal06PTA7IGlkW2pdOj1qOyBlbmQ7CgkgICAgICAgICAgICAgICAgZm9yIGo6PTEgdG8gTiBkbyB2YWxvcmVbal06PWNhbGNvbGF2YWxvcmUoYVtqXSxiW2pdLGNbal0sdCk7CgkgICAgICAgICAgICAgICAgb3JkaW5hbWVudG8oMSxOLHZhbG9yZSwgaWQsIHRydWUpOwoJICAgICAgICAgICAgICAgIGNvbnRyb2xsYSAodmFsb3JlLCBpZCk7CgkgICAgICAgICAgICAgICAgd3JpdGVsbihhbnMpOwkgICAgICAgICAgICAgICAgCgkgICAgICAgICAgICAgIGVuZDsKCSAgICAgICAgICAgICAgCmVuZC4=