return Math.abs(cross(a, b, c) / dist(a, b));
}
double min(P a, P b, P c, P d) {
return Math.min...(Math.min(min(a, b, c), min(a, b, d)), Math.min(min(c, d, a), min(c, d, b)));
}
double solve...> EPS) {
ymax = (ymax + 1) % m;
}
if (tmp + EPS < 0) ans = Math.min...(ans, min(ps[ymin], ps[ymin + 1], qs[ymax]));
else ans = Math.min(ans, min(ps[ymin], ps[ymin...M; ++i) {
q[i] = new P(nd(), nd());
}
out.printf("%.5f\n", Math.min