유치원 시절, 가장 많은 시간을 소비했던 활동 중 하나는 안전 가위로 종이에서 모양을 오려내는 것이었습니다. 이 작업의 단순화된 모델을 살펴봅시다. 당신은 $N$개의 서로 겹치지 않는 축 정렬(axis-aligned) 직사각형이 그려진 무한히 큰 종이에서 시작하며, 자르기는 무한히 긴 직선을 따라 이루어집니다. 자르기는 어떤 직사각형도 "건드려서는(nick)" 안 됩니다. 즉, 직사각형 내부의 어떤 점도 통과해서는 안 됩니다. (직사각형의 변을 정확히 따라가거나 꼭짓점을 통과하는 자르기는 허용됩니다.) 종이를 자르면 종이는 두 개의 서로 다른 조각으로 나뉘며, 이후 각 조각은 독립적으로 계속해서 자를 수 있습니다(한 조각에 대한 향후 자르기는 다른 조각에 영향을 주지 않습니다).
당신의 목표는 각 직사각형이 각각 별도의 종이 조각에 놓이도록 일련의 자르기를 수행하는 것입니다(그 이후에는 각 직사각형을 정확하게 오려내는 것이 매우 쉽기 때문입니다).
이런 방식으로 직사각형들을 분리하기 위해 필요한 최소한의 자르기 횟수(반드시 축 정렬일 필요는 없음)를 구하십시오. 만약 불가능하다면 impossible을 출력하십시오.
입력
입력의 첫 번째 줄에는 직사각형의 개수인 정수 $N$ ($1 \le N \le 100$)이 주어집니다.
다음 $N$개의 각 줄은 하나의 직사각형을 설명합니다. 각 줄에는 네 개의 정수 $x_1, y_1, x_2, y_2$ ($|x_1|, |y_1|, |x_2|, |y_2| \le 10^9$, $x_1 < x_2$, $y_1 < y_2$)가 공백으로 구분되어 주어지며, $(x_1, y_1)$은 직사각형의 왼쪽 아래 꼭짓점이고 $(x_2, y_2)$는 오른쪽 위 꼭짓점입니다.
직사각형들은 서로 겹치지 않음이 보장됩니다. 즉, 변이나 꼭짓점을 포함하여 어떤 두 직사각형도 공통된 점을 공유하지 않습니다.
출력
모든 직사각형을 분리하는 데 필요한 최소 자르기 횟수를 출력하십시오. (일단 분리된 후 직사각형 주변의 여백을 다듬기 위해 필요한 추가적인 자르기는 포함하지 마십시오.) 만약 이 작업이 불가능하다면 impossible을 출력하십시오.
참고
첫 번째 예제 입력에서 직사각형들을 분리하는 가능한 자르기 순서 중 첫 두 번의 자르기가 아래에 나타나 있습니다. 첫 번째 자르기는 빨간색으로, 두 번째 자르기는 파란색으로 그려져 있습니다. 파란색 자르기는 빨간색 자르기 전에는 유효하지 않음에 유의하십시오. 그렇게 하면 오른쪽에 있는 직사각형을 건드리게 되기 때문입니다.
예제
예제 입력 1
6 -1 1 0 4 1 0 3 1 2 2 3 3 4 0 5 3 2 4 5 5 6 3 7 5
예제 출력 1
5
예제 입력 2
4 0 -1 1 2 2 -1 5 0 -10 3 3 4 4 1 5 13
예제 출력 2
impossible