TopCoder

User's AC Ratio

NaN% (0/0)

Submission's AC Ratio

NaN% (0/0)

Tags

Description

There were a mouse and a cat living in a field. The mouse stole a dried fish the cat had loved. The theft was found soon later. The mouse started running as chased by the cat for the dried fish.


There were a number of rectangular obstacles in the field. The mouse always went straight ahead as long as possible, but he could not jump over or pass through these obstacles. When he was blocked by an obstacle, he turned leftward to the direction he could go forward, and then he started again to run in that way. Note that, at the corner, he might be able to keep going without change of the direction.


He found he was going to pass the same point again and again while chased by the cat. He then decided to hide the dried fish at the first point where he was blocked by an obstacle twice from that time. In other words, he decided to hide it at the first turn after he entered into an infinite loop. He thought he could come there again after the chase ended.


For example, in the following figure, he first went along the blue line and turned left at point B. Then he went along the red lines counter-clockwise, and entered into an infinite loop. In this case, he hid dried fish at NOT point B but at point A, because when he reached point B on line C for the second time, he just passed and didn't turn left.




(Example of dried fish point)


Finally the cat went away, but he remembered neither where he thought of hiding the dried fish nor where he actually hid it. Yes, he was losing his dried fish.


You are a friend of the mouse and talented programmer. Your task is to write a program that counts the number of possible points the mouse hid the dried fish, where information about the obstacles is given. The mouse should be considered as a point.

Input Format

There are multiple test cases in an input file.

The input begins with a line with one integer N (4 <= N
<= 40,000), which denotes the number of obstacles. Then N lines
follow. Each line describes one obstacle with four integers Xi,1,
Yi,1, Xi,2, and Yi,2
(-100,000,000 <= Xi,1, Yi,1, Xi,2,
Yi,2 <= 100,000,000). (Xi,1, Yi,1)
and (Xi,2, Yi,2) represent the coordinates of
the lower-left and upper-right corners of the obstacle respectively. As usual, X-axis
and Y-axis go right and upward respectively.

No pair of obstacles overlap.

Output Format

Print the number of points the mouse could hide the dried fish. You can assume this number is positive (i.e. nonzero).

Sample Input 1

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

Sample Output 1

4
8

Hints

Problem Source

Migrated from old NTUJ.

japan OB/OG 2009 Winter pG

Subtasks

No. Testdata Range Score

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 10000 65536 200