#P5521. Crazy Fences

Crazy Fences

题目描述

在访问了一个现代美术馆后,约翰农夫决定移动n{n}个在他的牧场之间的栅栏来

重新设计他的农场。每个栅栏用一个2D{2D}平面的线段来描述。两个栅栏只有在他们的端点才会相遇。每个栅栏在两个端点接触其他的两个栅栏。

约翰农夫有c{c}头牛在他的农场。每头牛住在2D{2D}平面的不在任何栅栏的一个点,并且没有两头牛在同一个点。如果两头牛可以不接触任何栅栏地走到一起,他们就是在同一个社区。请确定最大的社区的牛的数量。

输入格式

1{1 }行:两个空格分隔的整数 N{N }C{C}

2..1+N{2..1+N }行:每行包含四个整数:x1,y1,x2,y2{x1, y1, x2, y2,}表示从点 (x1,y1){(x1,y1) }到点 (x2,y2){(x2,y2) }的栅栏。所有坐标都是 0..1,000,000{0..1,000,000 }范围内的整数。

2+N..1+N+C{2+N..1+N+C }行:每行包含两个整数 x{x }y{y,}描述牛的位置。所有坐标都是 0..1,000,000{0..1,000,000 }范围内的整数。

输出格式

1{1 }行:最大社区的奶牛数量。

样例

输入样例

10 4 
0 0 10 0 
10 0 10 10 
0 0 0 10 
10 10 0 10 
8 8 9 8 
9 8 8 9 
8 9 8 8 
2 7 3 2 
3 2 7 5 
7 5 2 7 
15 3 
1 4 
4 5 
7 1

输出样例

2

提示

10{10}个栅栏和4{4}头奶牛。栅栏形成一个包含两个三角形的正方形。

奶牛#2{2 }和#4{4 }属于同一个社区。奶牛 #1{1 }和 #3{3 }都是大小为 1{1 }的社区的成员。