/*input
3 3
1 7
10 5
8 9
3 0
3 1 1
6 2 1 2
*/
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
const ll INF = 2e18;
const ld epss = 3e-11;
struct line
{
ll c, a;
int i;
// c - ax
ll y(ll x)
{
return c - a * x;
}
};
ld R(line a, line b)
{
return ld(b.c - a.c) / ld(b.a - a.a);
}
int main()
{
ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int N, M;
cin >> N >> M;
line X[N];
bool galim[N + 1];
for (int i = 0; i < N; i++)
{
ll x, p;
cin >> x >> p;
X[i].c = p + x * x;
X[i].a = 2 * x;
X[i].i = i + 1;
galim[i] = true;
}
sort(X, X + N, [](line a, line b) {return a.a < b.a;});
int nr[N + 1];
for (int i = 0; i < N; i++)
nr[X[i].i] = i;
vector<vector<int>>A;
vector<int>B;
int kiek = min(500, (int)(sqrt(N)) + 1);
bool gal[N];
fill_n(gal, N, true);
while (kiek--)
{
vector<int>ids;
vector<ld>r;
for (int i = 0; i < N; i++)
{
if (!gal[i])
continue;
if (ids.empty())
{
ids = {i};
continue;
}
while (!r.empty() && R(X[i], X[ids.back()]) <= r.back() + epss)
{
ids.pop_back();
r.pop_back();
}
r.push_back(R(X[i], X[ids.back()]));
ids.push_back(i);
}
if (ids.empty())
break;
A.push_back(ids);
B.push_back(0);
for (int i : ids)
gal[i] = false;
}
pair<int, int>QUER[M];
vector<int>DD[M];
for (int i = 0; i < M; i++)
{
cin >> QUER[i].first;
QUER[i].second = i;
ll k;
cin >> k;
while (k--)
{
int c;
cin >> c;
c = nr[c];
DD[i].push_back(c);
}
}
sort(QUER, QUER + M);
ll ats[M];
for (int i = 0; i < M; i++)
{
ll x = QUER[i].first;
for (int j : DD[QUER[i].second])
{
galim[j] = false;
}
ll ans = INF;
if (DD[QUER[i].second].size() >= 500 || N * M <= 10000000)
{
for (int i = 0; i < N; i++)
{
if (galim[i])
{
ans = min(ans, X[i].y(x));
}
}
}
else
{
for (int a = 0; a < A.size(); a++)
{
while (B[a] + 1 < A[a].size())
{
if (X[A[a][B[a]]].y(x) >= X[A[a][B[a] + 1]].y(x))
B[a]++;
else
break;
}
int i = B[a];
if (galim[A[a][i]])
{
ans = min(ans, X[A[a][i]].y(x));
break;
}
else
{
for (int c = i + 1; c < A[a].size(); c++)
{
if (galim[A[a][c]])
{
ans = min(ans, X[A[a][c]].y(x));
break;
}
}
for (int c = i - 1; c >= 0; c--)
{
if (galim[A[a][c]])
{
ans = min(ans, X[A[a][c]].y(x));
break;
}
}
}
}
}
ats[QUER[i].second] = ans + x * x;
for (int j : DD[QUER[i].second])
{
galim[j] = true;
}
}
for (int i = 0; i < M; i++)
cout << ats[i] << "\n";
}
LyppbnB1dAozIDMKMSA3CjEwIDUKOCA5CjMgMAozIDEgMQo2IDIgMSAyCiovCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKY29uc3QgbGwgSU5GID0gMmUxODsKY29uc3QgbGQgZXBzcyA9IDNlLTExOwpzdHJ1Y3QgbGluZQp7CglsbCBjLCBhOwoJaW50IGk7CgkvLyBjIC0gYXgKCWxsIHkobGwgeCkKCXsKCQlyZXR1cm4gYyAtIGEgKiB4OwoJfQp9OwpsZCBSKGxpbmUgYSwgbGluZSBiKQp7CglyZXR1cm4gbGQoYi5jIC0gYS5jKSAvIGxkKGIuYSAtIGEuYSk7Cn0KaW50IG1haW4oKQp7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSwgY2luLnRpZSgwKSwgY291dC50aWUoMCk7CglpbnQgTiwgTTsKCWNpbiA+PiBOID4+IE07CglsaW5lIFhbTl07Cglib29sIGdhbGltW04gKyAxXTsKCWZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJewoJCWxsIHgsIHA7CgkJY2luID4+IHggPj4gcDsKCQlYW2ldLmMgPSBwICsgeCAqIHg7CgkJWFtpXS5hID0gMiAqIHg7CgkJWFtpXS5pID0gaSArIDE7CgkJZ2FsaW1baV0gPSB0cnVlOwoJfQoJc29ydChYLCBYICsgTiwgW10obGluZSBhLCBsaW5lIGIpIHtyZXR1cm4gYS5hIDwgYi5hO30pOwoJaW50IG5yW04gKyAxXTsKCWZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJCW5yW1hbaV0uaV0gPSBpOwoJdmVjdG9yPHZlY3RvcjxpbnQ+PkE7Cgl2ZWN0b3I8aW50PkI7CglpbnQga2llayA9IG1pbig1MDAsIChpbnQpKHNxcnQoTikpICsgMSk7Cglib29sIGdhbFtOXTsKCWZpbGxfbihnYWwsIE4sIHRydWUpOwoJd2hpbGUgKGtpZWstLSkKCXsKCQl2ZWN0b3I8aW50PmlkczsKCQl2ZWN0b3I8bGQ+cjsKCQlmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykKCQl7CgkJCWlmICghZ2FsW2ldKQoJCQkJY29udGludWU7CgkJCWlmIChpZHMuZW1wdHkoKSkKCQkJewoJCQkJaWRzID0ge2l9OwoJCQkJY29udGludWU7CgkJCX0KCQkJd2hpbGUgKCFyLmVtcHR5KCkgJiYgUihYW2ldLCBYW2lkcy5iYWNrKCldKSA8PSByLmJhY2soKSArIGVwc3MpCgkJCXsKCQkJCWlkcy5wb3BfYmFjaygpOwoJCQkJci5wb3BfYmFjaygpOwoJCQl9CgkJCXIucHVzaF9iYWNrKFIoWFtpXSwgWFtpZHMuYmFjaygpXSkpOwoJCQlpZHMucHVzaF9iYWNrKGkpOwoJCX0KCQlpZiAoaWRzLmVtcHR5KCkpCgkJCWJyZWFrOwoJCUEucHVzaF9iYWNrKGlkcyk7CgkJQi5wdXNoX2JhY2soMCk7CgkJZm9yIChpbnQgaSA6IGlkcykKCQkJZ2FsW2ldID0gZmFsc2U7Cgl9CglwYWlyPGludCwgaW50PlFVRVJbTV07Cgl2ZWN0b3I8aW50PkREW01dOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBNOyBpKyspCgl7CgkJY2luID4+IFFVRVJbaV0uZmlyc3Q7CgkJUVVFUltpXS5zZWNvbmQgPSBpOwoJCWxsIGs7CgkJY2luID4+IGs7CgkJd2hpbGUgKGstLSkKCQl7CgkJCWludCBjOwoJCQljaW4gPj4gYzsKCQkJYyA9IG5yW2NdOwoJCQlERFtpXS5wdXNoX2JhY2soYyk7CgkJfQoJfQoJc29ydChRVUVSLCBRVUVSICsgTSk7CglsbCBhdHNbTV07Cglmb3IgKGludCBpID0gMDsgaSA8IE07IGkrKykKCXsKCQlsbCB4ID0gUVVFUltpXS5maXJzdDsKCQlmb3IgKGludCBqIDogRERbUVVFUltpXS5zZWNvbmRdKQoJCXsKCQkJZ2FsaW1bal0gPSBmYWxzZTsKCQl9CgkJbGwgYW5zID0gSU5GOwoJCWlmIChERFtRVUVSW2ldLnNlY29uZF0uc2l6ZSgpID49IDUwMCB8fCBOICogTSA8PSAxMDAwMDAwMCkKCQl7CgkJCWZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJCQl7CgkJCQlpZiAoZ2FsaW1baV0pCgkJCQl7CgkJCQkJYW5zID0gbWluKGFucywgWFtpXS55KHgpKTsKCQkJCX0KCQkJfQoJCX0KCQllbHNlCgkJewoJCQlmb3IgKGludCBhID0gMDsgYSA8IEEuc2l6ZSgpOyBhKyspCgkJCXsKCQkJCXdoaWxlIChCW2FdICsgMSA8IEFbYV0uc2l6ZSgpKQoJCQkJewoJCQkJCWlmIChYW0FbYV1bQlthXV1dLnkoeCkgPj0gWFtBW2FdW0JbYV0gKyAxXV0ueSh4KSkKCQkJCQkJQlthXSsrOwoJCQkJCWVsc2UKCQkJCQkJYnJlYWs7CgkJCQl9CgkJCQlpbnQgaSA9IEJbYV07CgkJCQlpZiAoZ2FsaW1bQVthXVtpXV0pCgkJCQl7CgkJCQkJYW5zID0gbWluKGFucywgWFtBW2FdW2ldXS55KHgpKTsKCQkJCQlicmVhazsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlmb3IgKGludCBjID0gaSArIDE7IGMgPCBBW2FdLnNpemUoKTsgYysrKQoJCQkJCXsKCQkJCQkJaWYgKGdhbGltW0FbYV1bY11dKQoJCQkJCQl7CgkJCQkJCQlhbnMgPSBtaW4oYW5zLCBYW0FbYV1bY11dLnkoeCkpOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZm9yIChpbnQgYyA9IGkgLSAxOyBjID49IDA7IGMtLSkKCQkJCQl7CgkJCQkJCWlmIChnYWxpbVtBW2FdW2NdXSkKCQkJCQkJewoJCQkJCQkJYW5zID0gbWluKGFucywgWFtBW2FdW2NdXS55KHgpKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCWF0c1tRVUVSW2ldLnNlY29uZF0gPSBhbnMgKyB4ICogeDsKCQlmb3IgKGludCBqIDogRERbUVVFUltpXS5zZWNvbmRdKQoJCXsKCQkJZ2FsaW1bal0gPSB0cnVlOwoJCX0KCX0KCWZvciAoaW50IGkgPSAwOyBpIDwgTTsgaSsrKQoJCWNvdXQgPDwgYXRzW2ldIDw8ICJcbiI7Cn0g