[HNOI2005] 纸片覆盖

题目描述

喜欢几何的小付遇到了这样一个问题:一天他在一张白纸上画了 $n$ 条直线,然后剪了一张 $m$ 边形(简单多边形)的小纸片。 他想把这张小纸片放在白纸上,使它盖住的线段的总长度最长。并且这张多边形纸片不能翻转或旋转,只能平移,如果直线的某一段刚好与多边形纸片的边重合,那么,这条线段算作是被覆盖。 你能帮他解决这个问题吗?

输入输出格式

输入格式


从文件 `input.txt` 中读入数据,文件第一行为两个数 $n$ 和 $m$,其中 $1\leq n,m\leq10$,分别表示直线的数目和多边形的边数。 接下来的 $n$ 行分别表示各条直线,每行有 $4$ 个实数 $x_1,y_1,x_2,y_2$,表示一条经过 $\left(x_1,y_1\right)$ 和 $\left(x_2,y_2\right)$ 的直线。 接下来的 $m$ 行按顺时针或逆时针的顺序输入多边形的各个顶点,每行有 $2$ 个实数 $x,y$,表示一个顶点的坐标。 这里假设所有输入的实数都在 $-10000$ 到 $10000$ 之间,且不会超过 $2$ 位小数,输入的多边形保证不自交,且连续的 $3$ 点不共线。

输出格式


输出文件 `output.txt` 中仅包含一个数 $L$,表示输入的多边形能盖住的最大的线段总长度,精确到小数点后 $3$ 位。

输入输出样例

输入样例 #1

3 5
6 1 2 5
1 2 8 4
4 -1 5 6
1 0
5 -1
4 2
7 3
4 4

输出样例 #1

11.933