double distanceLL(const line& l, const line& m) { return intersectLL(l, m) ? 0.0 : distanceLP(l, m.a); }
double distanceLL(const L &l, const L &m) { return intersectLL(l, m) ? 0 : distanceLP(l, m[0]); }