아스팔트 포장

삼각 격자 위의 선분들이 주어질 때, 같은 점에서 예각을 이루며 만나지 않도록 고를 수 있는 최대 선분 개수를 구한다.

보통6그래프동적 계획법기하비트 연산아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

어떤 기울어진 도시에서는 길과 거리가 직각으로 만나지 않고, 항상 60도의 배수를 이루는 각도로 만난다. 좀 더 정확히 말하면 이 도시는 삼각 격자, 즉 xx축과 yy축이 60도를 이루는 좌표계 위에 놓여 있다. 좌표가 모두 정수인 두 점 AABB는 유클리드 거리가 1일 때 서로 이웃이다. 모든 점은 이웃이 정확히 6개다. 점 (x,y)(x, y)의 이웃은 (x+1,y)(x+1, y), (x1,y)(x-1, y), (x,y+1)(x, y+1), (x,y1)(x, y-1), (x+1,y1)(x+1, y-1), (x1,y+1)(x-1, y+1)이다.

도시에는 길이 nn개 있고, 각 길은 어떤 점과 그 점의 이웃 하나를 잇는다. 시는 길을 아스팔트로 포장해 현대적인 도로로 바꿀 예산을 마련했다. 다만 새 도로에 급한 방향 전환이 있으면 안 된다. 정확히 말하면 포장한 길 두 개가 한 점에서 만나 예각을 이루면 안 된다.

예각을 이루는 곳이 하나도 생기지 않도록 포장할 때, 포장할 수 있는 길은 최대 몇 개인가?

입력

첫째 줄에 길의 개수 nn (1n10001 \le n \le 1000)이 주어진다.

다음 nn개 줄에는 자연수 xAx_A, yAy_A, xBx_B, yBy_B (1xA,yA,xB,yB1001 \le x_A, y_A, x_B, y_B \le 100)가 주어진다. 차례대로 길이 잇는 두 점 AABB의 좌표다. AABB는 항상 서로 이웃이고, 같은 길이 두 번 이상 주어지지 않는다.

출력

포장할 수 있는 길의 최대 개수를 출력한다.

그림

60도로 만나는 두 좌표축과 삼각 격자를 나타낸 그림이다. 주황색 선분은 첫 번째 예제의 길 17개이고, 그중 회색 테두리로 표시한 선분 10개가 포장한 길이다.