#include <bits/stdc++.h>
#define X first
#define Y second
using namespace std;
typedef long double ld;
typedef pair<ld, ld> pt;
typedef pair<pt, ld> hp;
pt ct;
bool f;
ld dis(pt a, pt b) {
return hypot(a.X - b.X, a.Y - b.Y);
}
ld ccw(pt a, pt b, pt c) {
return (b.X - a.X) * (c.Y - a.Y) - (b.Y - a.Y) * (c.X - a.X);
}
ld cp(pt a, pt b) {
return a.X * b.Y - a.Y * b.X;
}
bool cmp(hp h1, hp h2) {
ld c = ccw(ct, h1.X, h2.X);
bool f1 = h1.X > ct, f2 = h2.X > ct;
if(f1 != f2)
return f1 > f2;
return fabsl(c) < 1e-9 ? h1.Y * dis(ct, h2.X) < h2.Y * dis(ct, h1.X) : c > 1e-9;
}
bool inside(vector<pt> &v, pt p) {
int n = v.size(), st = 1, ed, mi;
if(ccw(v[0], v[n - 1], p) > 1e-9 || ccw(v[0], v[1], p) < -1e-9)
return false;
ed = n - 1;
while(st + 1 < ed) {
mi = (st + ed) / 2;
ccw(v[0], v[mi], p) > 1e-9 ? st = mi : ed = mi;
}
return ccw(v[st], p, v[st + 1]) < 1e-9;
}
pt isc(hp h1, hp h2) {
double a = cp(h1.X, h2.X);
pt tmp;
tmp.X = (h1.Y * h2.X.Y - h1.X.Y * h2.Y) / a;
tmp.Y = (h1.X.X * h2.Y - h1.Y * h2.X.X) / a;
return tmp;
}
bool chk(hp h1, hp h2, hp h3) {
pt tmp;
if(cp(h2.X, h3.X) < 1e-9)
return false;
tmp = isc(h2, h3);
return h1.X.X * tmp.X + h1.X.Y * tmp.Y > h1.Y + 1e-9;
}
vector<pt> hpisc(vector<hp>& tv) {
vector<pt> rv;
int m;
deque<hp> dq;
sort(tv.begin(), tv.end(), cmp);
for(auto i : tv) {
while(dq.size() > 1 && chk(i, dq[dq.size() - 2], dq.back()))
dq.pop_back();
while(dq.size() > 1 && chk(dq[1], i, dq.front()))
dq.pop_front();
if(dq.size() && fabsl(cp(dq.back().X, i.X)) < 1e-9)
continue;
dq.push_back(i);
}
while(dq.size() > 2 && chk(dq.front(), dq[dq.size() - 2], dq.back()))
dq.pop_back();
while(dq.size() > 2 && chk(dq[1], dq.back(), dq.front()))
dq.pop_front();
m = dq.size();
for(int i = 0; i < m; i++) {
if(cp(dq[i].X, dq[(i + 1) % m].X) < 1e-9)
continue;
rv.push_back(isc(dq[i], dq[(i + 1) % m]));
}
return rv;
}
ld hparea(vector<pt> p, vector<pt> p2, pt vc, pt vc2, ld tm) {
int n = p.size(), m = p2.size(), sz;
ld tr = 0;
bool f2 = false, f3 = false;
vector<pt> v;
vector<hp> hv;
for(int i = 0; i < n; i++) {
p[i].X += vc.X * tm;
p[i].Y += vc.Y * tm;
}
for(int i = 0; i < m; i++) {
p2[i].X += vc2.X * tm;
p2[i].Y += vc2.Y * tm;
}
hv.resize(n + m);
for(int i = 0; i < n; i++) {
hv[i].X.X = p[(i + 1) % n].Y - p[i].Y;
hv[i].X.Y = p[i].X - p[(i + 1) % n].X;
hv[i].Y = hv[i].X.X * p[i].X + hv[i].X.Y * p[i].Y;
}
for(int i = 0; i < m; i++) {
hv[i + n].X.X = p2[(i + 1) % m].Y - p2[i].Y;
hv[i + n].X.Y = p2[i].X - p2[(i + 1) % m].X;
hv[i + n].Y = hv[i + n].X.X * p2[i].X + hv[i + n].X.Y * p2[i].Y + dis(p2[i], p2[(i + 1) % m]) * 1e-3;
}
v = hpisc(hv);
sz = v.size();
for(int i = 0; i < sz; i++)
tr += v[i].X * v[(i + 1) % sz].Y - v[i].Y * v[(i + 1) % sz].X;
tr = fabsl(tr) / 2;
for(int i = 0; i < n; i++) {
if(inside(p2, p[i])) {
f2 = true;
break;
}
}
for(int i = 0; i < m; i++) {
if(inside(p, p2[i])) {
f3 = true;
break;
}
}
if(!f2 && !f3) {
sz = 0;
tr = 0;
return tr;
}
if(sz && fabsl(tr) < 1e-9)
f = true;
return tr;
}
int main() {
int n, m, cnt = 50;
ld r, r2, s = 0, e = 3, mi, mi2, rmax = 0;
pt vc, vc2;
vector<pt> p, p2;
scanf("%d", &n);
p.resize(n);
for(int i = 0; i < n; i++)
scanf("%Lf %Lf", &p[i].X, &p[i].Y);
reverse(p.begin(), p.end());
scanf("%Lf %Lf %d", &vc.X, &vc.Y, &m);
p2.resize(m);
for(int i = 0; i < m; i++)
scanf("%Lf %Lf", &p2[i].X, &p2[i].Y);
reverse(p2.begin(), p2.end());
scanf("%Lf %Lf", &vc2.X, &vc2.Y);
if(fabsl(dis(vc, vc2)) < 1e-9) {
printf("never");
return 0;
}
while(cnt--) {
mi = (s * 2 + e) / 3;
mi2 = (s + e * 2) / 3;
f = false;
r = hparea(p, p2, vc, vc2, mi);
if(f)
r = 1e-9;
f = false;
r2 = hparea(p, p2, vc, vc2, mi2);
if(f)
r2 = 1e-9;
rmax = max(rmax, max(r, r2));
r > r2 - 1e-9 ? e = mi2 : s = mi;
printf("%.3Lf %.12Lf %.3Lf %.12Lf\n", mi, r, mi2, r2);
}
if(fabsl(rmax) < 1e-9)
printf("never");
else
printf("%.9Lf", s);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgWCBmaXJzdAojZGVmaW5lIFkgc2Vjb25kCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwp0eXBlZGVmIHBhaXI8bGQsIGxkPiBwdDsKdHlwZWRlZiBwYWlyPHB0LCBsZD4gaHA7CgpwdCBjdDsKYm9vbCBmOwoKbGQgZGlzKHB0IGEsIHB0IGIpIHsKCXJldHVybiBoeXBvdChhLlggLSBiLlgsIGEuWSAtIGIuWSk7Cn0KCmxkIGNjdyhwdCBhLCBwdCBiLCBwdCBjKSB7CglyZXR1cm4gKGIuWCAtIGEuWCkgKiAoYy5ZIC0gYS5ZKSAtIChiLlkgLSBhLlkpICogKGMuWCAtIGEuWCk7Cn0KCmxkIGNwKHB0IGEsIHB0IGIpIHsKCXJldHVybiBhLlggKiBiLlkgLSBhLlkgKiBiLlg7Cn0KCmJvb2wgY21wKGhwIGgxLCBocCBoMikgewoJbGQgYyA9IGNjdyhjdCwgaDEuWCwgaDIuWCk7Cglib29sIGYxID0gaDEuWCA+IGN0LCBmMiA9IGgyLlggPiBjdDsKCWlmKGYxICE9IGYyKQoJCXJldHVybiBmMSA+IGYyOwoJcmV0dXJuIGZhYnNsKGMpIDwgMWUtOSA/IGgxLlkgKiBkaXMoY3QsIGgyLlgpIDwgaDIuWSAqIGRpcyhjdCwgaDEuWCkgOiBjID4gMWUtOTsKfQoKYm9vbCBpbnNpZGUodmVjdG9yPHB0PiAmdiwgcHQgcCkgeyAgICAKCWludCBuID0gdi5zaXplKCksIHN0ID0gMSwgZWQsIG1pOwoJaWYoY2N3KHZbMF0sIHZbbiAtIDFdLCBwKSA+IDFlLTkgfHwgY2N3KHZbMF0sIHZbMV0sIHApIDwgLTFlLTkpCgkJcmV0dXJuIGZhbHNlOwoJZWQgPSBuIC0gMTsKCXdoaWxlKHN0ICsgMSA8IGVkKSB7CgkJbWkgPSAoc3QgKyBlZCkgLyAyOwoJCWNjdyh2WzBdLCB2W21pXSwgcCkgPiAxZS05ID8gc3QgPSBtaSA6IGVkID0gbWk7Cgl9CglyZXR1cm4gY2N3KHZbc3RdLCBwLCB2W3N0ICsgMV0pIDwgMWUtOTsKfQoKcHQgaXNjKGhwIGgxLCBocCBoMikgewoJZG91YmxlIGEgPSBjcChoMS5YLCBoMi5YKTsKCXB0IHRtcDsKCXRtcC5YID0gKGgxLlkgKiBoMi5YLlkgLSBoMS5YLlkgKiBoMi5ZKSAvIGE7Cgl0bXAuWSA9IChoMS5YLlggKiBoMi5ZIC0gaDEuWSAqIGgyLlguWCkgLyBhOwoJcmV0dXJuIHRtcDsKfQoKYm9vbCBjaGsoaHAgaDEsIGhwIGgyLCBocCBoMykgewoJcHQgdG1wOwoJaWYoY3AoaDIuWCwgaDMuWCkgPCAxZS05KQoJCXJldHVybiBmYWxzZTsKCXRtcCA9IGlzYyhoMiwgaDMpOwoJcmV0dXJuIGgxLlguWCAqIHRtcC5YICsgaDEuWC5ZICogdG1wLlkgPiBoMS5ZICsgMWUtOTsKfQoKdmVjdG9yPHB0PiBocGlzYyh2ZWN0b3I8aHA+JiB0dikgewoJdmVjdG9yPHB0PiBydjsKCWludCBtOwoJZGVxdWU8aHA+IGRxOwoJc29ydCh0di5iZWdpbigpLCB0di5lbmQoKSwgY21wKTsKCWZvcihhdXRvIGkgOiB0dikgewoJCXdoaWxlKGRxLnNpemUoKSA+IDEgJiYgY2hrKGksIGRxW2RxLnNpemUoKSAtIDJdLCBkcS5iYWNrKCkpKQoJCQlkcS5wb3BfYmFjaygpOwoJCXdoaWxlKGRxLnNpemUoKSA+IDEgJiYgY2hrKGRxWzFdLCBpLCBkcS5mcm9udCgpKSkKCQkJZHEucG9wX2Zyb250KCk7CgkJaWYoZHEuc2l6ZSgpICYmIGZhYnNsKGNwKGRxLmJhY2soKS5YLCBpLlgpKSA8IDFlLTkpCgkJCWNvbnRpbnVlOwoJCWRxLnB1c2hfYmFjayhpKTsKCX0KCXdoaWxlKGRxLnNpemUoKSA+IDIgJiYgY2hrKGRxLmZyb250KCksIGRxW2RxLnNpemUoKSAtIDJdLCBkcS5iYWNrKCkpKQoJCWRxLnBvcF9iYWNrKCk7Cgl3aGlsZShkcS5zaXplKCkgPiAyICYmIGNoayhkcVsxXSwgZHEuYmFjaygpLCBkcS5mcm9udCgpKSkKCQlkcS5wb3BfZnJvbnQoKTsKICAgIG0gPSBkcS5zaXplKCk7Cglmb3IoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CgkJaWYoY3AoZHFbaV0uWCwgZHFbKGkgKyAxKSAlIG1dLlgpIDwgMWUtOSkKCQkJY29udGludWU7CgkJcnYucHVzaF9iYWNrKGlzYyhkcVtpXSwgZHFbKGkgKyAxKSAlIG1dKSk7Cgl9CglyZXR1cm4gcnY7Cn0KCmxkIGhwYXJlYSh2ZWN0b3I8cHQ+IHAsIHZlY3RvcjxwdD4gcDIsIHB0IHZjLCBwdCB2YzIsIGxkIHRtKSB7CiAgICBpbnQgbiA9IHAuc2l6ZSgpLCBtID0gcDIuc2l6ZSgpLCBzejsKICAgIGxkIHRyID0gMDsKICAgIGJvb2wgZjIgPSBmYWxzZSwgZjMgPSBmYWxzZTsKICAgIHZlY3RvcjxwdD4gdjsKICAgIHZlY3RvcjxocD4gaHY7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgcFtpXS5YICs9IHZjLlggKiB0bTsKICAgICAgICBwW2ldLlkgKz0gdmMuWSAqIHRtOwogICAgfQogICAgZm9yKGludCBpID0gMDsgaSA8IG07IGkrKykgewogICAgICAgIHAyW2ldLlggKz0gdmMyLlggKiB0bTsKICAgICAgICBwMltpXS5ZICs9IHZjMi5ZICogdG07CiAgICB9CiAgICBodi5yZXNpemUobiArIG0pOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJICAgIGh2W2ldLlguWCA9IHBbKGkgKyAxKSAlIG5dLlkgLSBwW2ldLlk7CgkJaHZbaV0uWC5ZID0gcFtpXS5YIC0gcFsoaSArIDEpICUgbl0uWDsKCQlodltpXS5ZID0gaHZbaV0uWC5YICogcFtpXS5YICsgaHZbaV0uWC5ZICogcFtpXS5ZOwoJfQogICAgZm9yKGludCBpID0gMDsgaSA8IG07IGkrKykgewoJICAgIGh2W2kgKyBuXS5YLlggPSBwMlsoaSArIDEpICUgbV0uWSAtIHAyW2ldLlk7CgkJaHZbaSArIG5dLlguWSA9IHAyW2ldLlggLSBwMlsoaSArIDEpICUgbV0uWDsKCQlodltpICsgbl0uWSA9IGh2W2kgKyBuXS5YLlggKiBwMltpXS5YICsgaHZbaSArIG5dLlguWSAqIHAyW2ldLlkgKyBkaXMocDJbaV0sIHAyWyhpICsgMSkgJSBtXSkgKiAxZS0zOwoJfQoJdiA9IGhwaXNjKGh2KTsKICAgIHN6ID0gdi5zaXplKCk7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgc3o7IGkrKykKICAgIAl0ciArPSB2W2ldLlggKiB2WyhpICsgMSkgJSBzel0uWSAtIHZbaV0uWSAqIHZbKGkgKyAxKSAlIHN6XS5YOwoJdHIgPSBmYWJzbCh0cikgLyAyOwogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGlmKGluc2lkZShwMiwgcFtpXSkpIHsKICAgICAgICAgICAgZjIgPSB0cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CiAgICAgICAgaWYoaW5zaWRlKHAsIHAyW2ldKSkgewogICAgICAgICAgICBmMyA9IHRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIGlmKCFmMiAmJiAhZjMpIHsKICAgICAgICBzeiA9IDA7CiAgICAgICAgdHIgPSAwOwogICAgICAgIHJldHVybiB0cjsKICAgIH0KCWlmKHN6ICYmIGZhYnNsKHRyKSA8IDFlLTkpCiAgICAgICAgZiA9IHRydWU7CiAgICByZXR1cm4gdHI7Cn0KCmludCBtYWluKCkgewoJaW50IG4sIG0sIGNudCA9IDUwOwoJbGQgciwgcjIsIHMgPSAwLCBlID0gMywgbWksIG1pMiwgcm1heCA9IDA7CglwdCB2YywgdmMyOwoJdmVjdG9yPHB0PiBwLCBwMjsKCXNjYW5mKCIlZCIsICZuKTsKICAgIHAucmVzaXplKG4pOwoJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykKCQlzY2FuZigiJUxmICVMZiIsICZwW2ldLlgsICZwW2ldLlkpOwoJcmV2ZXJzZShwLmJlZ2luKCksIHAuZW5kKCkpOwogICAgc2NhbmYoIiVMZiAlTGYgJWQiLCAmdmMuWCwgJnZjLlksICZtKTsKICAgIHAyLnJlc2l6ZShtKTsKCWZvcihpbnQgaSA9IDA7IGkgPCBtOyBpKyspCgkJc2NhbmYoIiVMZiAlTGYiLCAmcDJbaV0uWCwgJnAyW2ldLlkpOwoJcmV2ZXJzZShwMi5iZWdpbigpLCBwMi5lbmQoKSk7CiAgICBzY2FuZigiJUxmICVMZiIsICZ2YzIuWCwgJnZjMi5ZKTsKICAgIGlmKGZhYnNsKGRpcyh2YywgdmMyKSkgPCAxZS05KSB7CiAgICAJcHJpbnRmKCJuZXZlciIpOwogICAgCXJldHVybiAwOwogICAgfQogICAgd2hpbGUoY250LS0pIHsKICAgICAgICBtaSA9IChzICogMiArIGUpIC8gMzsKICAgICAgICBtaTIgPSAocyArIGUgKiAyKSAvIDM7CiAgICAgICAgZiA9IGZhbHNlOwogICAgICAgIHIgPSBocGFyZWEocCwgcDIsIHZjLCB2YzIsIG1pKTsKICAgICAgICBpZihmKQogICAgICAgIAlyID0gMWUtOTsKICAgICAgICBmID0gZmFsc2U7CiAgICAgICAgcjIgPSBocGFyZWEocCwgcDIsIHZjLCB2YzIsIG1pMik7CiAgICAgICAgaWYoZikKICAgICAgICAJcjIgPSAxZS05OwogICAgICAgIHJtYXggPSBtYXgocm1heCwgbWF4KHIsIHIyKSk7CiAgICAgICAgciA+IHIyIC0gMWUtOSA/IGUgPSBtaTIgOiBzID0gbWk7CiAgICAgICAgcHJpbnRmKCIlLjNMZiAlLjEyTGYgJS4zTGYgJS4xMkxmXG4iLCBtaSwgciwgbWkyLCByMik7CiAgICB9CiAgICBpZihmYWJzbChybWF4KSA8IDFlLTkpCiAgICAgICAgcHJpbnRmKCJuZXZlciIpOwogICAgZWxzZQogICAgCXByaW50ZigiJS45TGYiLCBzKTsKCXJldHVybiAwOwp9