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;
diversi : boolean;
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, x, ricorda, inff,supp : qword;
temp : elenco;
begin
diversi:=false;
h:=1; writeln('vpos ', v[pos]);
for h:=1 to N do writeln(v[h]);
while ((v[h]<>v[pos]) and (h<=N)) do begin writeln(v[h],' ciao '); h:=h+1;end;
inff:=h; writeln('inff ',inff);
w:=0;
while ((v[w]=v[pos]) and (w<=N)) do w:=w+1;
supp:=w; z:=1; writeln(' supp');
if inff=supp then ans:=u[pos]
else
begin
for h:=inff to supp do
begin
temp[z]:=u[h];
z:=z+1;
end;
end;
ordinamento1(1,z-1,temp,true);
for h:=1 to z do writeln(temp[h]);
ans:=temp[pos-inff-1] ;
end;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output); *)
readln(N);
for i:=1 to N do begin readln(a[i],b[i],c[i]); id[i]:=i; end;
readln(Q);
for i:=1 to Q do
begin
readln (p[i],t[i]);
pos:=p[i];
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); end; end.
writeln(ans);
for j:=1 to N do begin valore[j]:=0; id[j]:=j; end;
end;
end.
cHJvZ3JhbSBmb3JtdWxhMTsKdHlwZSBlbGVuY28gPSBhcnJheVsxLi4yMDAwMDBdIG9mIHF3b3JkOwp2YXIgTixRLGksaiwgcG9zLCBhbnMgOnF3b3JkOwogICAgYSwgYiwgYyA6YXJyYXlbMS4uMjAwMF0gb2YgcXdvcmQ7CiAgICBwLCB0LCB2YWxvcmUsIGlkIDogZWxlbmNvOwogICAgZGl2ZXJzaSA6IGJvb2xlYW47CmZ1bmN0aW9uIGNhbGNvbGF2YWxvcmUgKGFhLGJiLGNjLHR0OnF3b3JkKTogcXdvcmQ7CgpiZWdpbgogICBjYWxjb2xhdmFsb3JlOj1hYSp0dCp0dCtiYip0dCtjYzsKZW5kOyAgIAogICAgClByb2NlZHVyZSBzY2FtYmlhICh2YXIgYWEsYmI6IHF3b3JkKTsKdmFyIHg6cXdvcmQ7CmJlZ2luCiAgIHg6PWFhOwogICBhYTo9YmI7CiAgIGJiOj14OwplbmQ7ICAKUHJvY2VkdXJlIG9yZGluYW1lbnRvIChlc3RyZW1vaSxlc3RyZW1vczogcXdvcmQ7IHZhciB2IDogZWxlbmNvO3ZhciB1IDogZWxlbmNvOyBvcmRpbmF0bzpib29sZWFuKTsKdmFyIGluZiwgc3VwLCBtZWRpbzpxd29yZDsKICAgIHBpdm90IDpxd29yZDsKYmVnaW4KICAgIGluZjo9ZXN0cmVtb2k7CiAgICBzdXA6PWVzdHJlbW9zOwogICAgbWVkaW86PSAoZXN0cmVtb2krZXN0cmVtb3MpIGRpdiAyOwogICAgcGl2b3Q6PXZbbWVkaW9dOwogICAgcmVwZWF0CiAgICAgIGlmIChvcmRpbmF0bykgdGhlbgogICAgICAgICBiZWdpbgogICAgICAgICAgICB3aGlsZSAodltpbmZdPnBpdm90KSBkbyAgaW5mOj1pbmYrMTsKICAgICAgICAgICAgd2hpbGUgKHZbc3VwXTxwaXZvdCkgZG8gIHN1cDo9c3VwLTE7CiAgICAgICAgIGVuZDsKICAgICAgaWYgaW5mPD1zdXAgdGhlbgogICAgICAgYmVnaW4KICAgICAgICAgc2NhbWJpYSh2W2luZl0sdltzdXBdKTsKICAgICAgICAgc2NhbWJpYSh1W2luZl0sdVtzdXBdKTsKICAgICAgICAgaW5mOj1pbmYrMTsKICAgICAgICAgc3VwOj1zdXAtMTsKICAgICAgIGVuZDsKICAgIHVudGlsIGluZj5zdXA7CiAgICBpZiAoZXN0cmVtb2k8c3VwKSB0aGVuIG9yZGluYW1lbnRvKGVzdHJlbW9pLHN1cCx2LHUsb3JkaW5hdG8pOwogICAgaWYgKGluZjxlc3RyZW1vcykgdGhlbiBvcmRpbmFtZW50byhpbmYsZXN0cmVtb3Msdix1LG9yZGluYXRvKTsKZW5kOwpQcm9jZWR1cmUgb3JkaW5hbWVudG8xIChlc3RyZW1vaSxlc3RyZW1vczogcXdvcmQ7IHZhciB2IDogZWxlbmNvOyBvcmRpbmF0bzpib29sZWFuKTsKdmFyIGluZiwgc3VwLCBtZWRpbzpxd29yZDsKICAgIHBpdm90IDpxd29yZDsKYmVnaW4KICAgIGluZjo9ZXN0cmVtb2k7CiAgICBzdXA6PWVzdHJlbW9zOwogICAgbWVkaW86PSAoZXN0cmVtb2krZXN0cmVtb3MpIGRpdiAyOwogICAgcGl2b3Q6PXZbbWVkaW9dOwogICAgcmVwZWF0CiAgICAgIGlmIChvcmRpbmF0bykgdGhlbgogICAgICAgICBiZWdpbgogICAgICAgICAgICB3aGlsZSAodltpbmZdPHBpdm90KSBkbyAgaW5mOj1pbmYrMTsKICAgICAgICAgICAgd2hpbGUgKHZbc3VwXT5waXZvdCkgZG8gIHN1cDo9c3VwLTE7CiAgICAgICAgIGVuZDsKICAgICAgaWYgaW5mPD1zdXAgdGhlbgogICAgICAgYmVnaW4KICAgICAgICAgc2NhbWJpYSh2W2luZl0sdltzdXBdKTsKICAgICAgICAgaW5mOj1pbmYrMTsKICAgICAgICAgc3VwOj1zdXAtMTsKICAgICAgIGVuZDsKICAgIHVudGlsIGluZj5zdXA7CiAgICBpZiAoZXN0cmVtb2k8c3VwKSB0aGVuIG9yZGluYW1lbnRvMShlc3RyZW1vaSxzdXAsdixvcmRpbmF0byk7CiAgICBpZiAoaW5mPGVzdHJlbW9zKSB0aGVuIG9yZGluYW1lbnRvMShpbmYsZXN0cmVtb3MsdixvcmRpbmF0byk7CmVuZDsKcHJvY2VkdXJlIGNvbnRyb2xsYSAodmFyIHY6IGVsZW5jbzsgdmFyIHUgOiBlbGVuY28pOwp2YXIgaCwgdyx6LCAgeCwgcmljb3JkYSwgaW5mZixzdXBwIDogcXdvcmQ7CiAgICB0ZW1wIDogZWxlbmNvOwpiZWdpbgogICAgZGl2ZXJzaTo9ZmFsc2U7CiAgICBoOj0xOyAgIHdyaXRlbG4oJ3Zwb3MgICcsIHZbcG9zXSk7CiAgICBmb3IgaDo9MSB0byBOIGRvIHdyaXRlbG4odltoXSk7CiAgICB3aGlsZSAoKHZbaF08PnZbcG9zXSkgYW5kIChoPD1OKSkgIGRvIGJlZ2luIHdyaXRlbG4odltoXSwnICBjaWFvICAnKTsgaDo9aCsxO2VuZDsKICAgIGluZmY6PWg7IHdyaXRlbG4oJ2luZmYgICcsaW5mZik7CiAgICB3Oj0wOwogICAgd2hpbGUgKCh2W3ddPXZbcG9zXSkgYW5kICh3PD1OKSkgIGRvIHc6PXcrMTsKICAgIHN1cHA6PXc7IHo6PTE7IHdyaXRlbG4oJyBzdXBwJyk7CiAgICBpZiBpbmZmPXN1cHAgdGhlbiBhbnM6PXVbcG9zXQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgZm9yIGg6PWluZmYgdG8gc3VwcCBkbyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcFt6XTo9dVtoXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHo6PXorMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgICAgICAgICBlbmQ7ICAgICAgICAgICAgICAgICAgICAKICAgIG9yZGluYW1lbnRvMSgxLHotMSx0ZW1wLHRydWUpOwogICAgZm9yIGg6PTEgdG8geiBkbyB3cml0ZWxuKHRlbXBbaF0pOwogICAgYW5zOj10ZW1wW3Bvcy1pbmZmLTFdIDsgICAgICAgCmVuZDsgCgpiZWdpbgogICAgICAgICAoKmFzc2lnbihpbnB1dCwgICdpbnB1dC50eHQnKTsgIHJlc2V0KGlucHV0KTsKICAgICAgICAgYXNzaWduKG91dHB1dCwgJ291dHB1dC50eHQnKTsgcmV3cml0ZShvdXRwdXQpOwkqKQogICAgICAgIHJlYWRsbihOKTsKCWZvciBpOj0xIHRvIE4gZG8gYmVnaW4gcmVhZGxuKGFbaV0sYltpXSxjW2ldKTsgaWRbaV06PWk7IGVuZDsKCXJlYWRsbihRKTsKCWZvciBpOj0xIHRvIFEgZG8KCSAgICAgICAgICAgICAgYmVnaW4KCSAgICAgICAgICAgICAgICByZWFkbG4gKHBbaV0sdFtpXSk7IAoJICAgICAgICAgICAgICAgIHBvczo9cFtpXTsKCSAgICAgICAgICAgICAgICBmb3Igajo9MSB0byBOIGRvIHZhbG9yZVtqXTo9Y2FsY29sYXZhbG9yZShhW2pdLGJbal0sY1tqXSx0W2ldKTsKCSAgICAgICAgICAgICAgICBvcmRpbmFtZW50bygxLE4sdmFsb3JlLCBpZCwgdHJ1ZSk7CgkgICAgICAgICAgICAgICAgY29udHJvbGxhICh2YWxvcmUsIGlkKTsgZW5kOyBlbmQuCgkgICAgICAgICAgICAgICAgd3JpdGVsbihhbnMpOwoJICAgICAgICAgICAgICAgIGZvciBqOj0xIHRvIE4gZG8gYmVnaW4gdmFsb3JlW2pdOj0wOyBpZFtqXTo9ajsgZW5kOwoJICAgICAgICAgICAgICBlbmQ7CgkgICAgICAgICAgICAgIAplbmQu