빈 삼각형

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

아주 단순한 문제를 극도로 어려운 문제로 바꾸는 일은 의외로 쉽습니다. 예를 들어 보겠습니다.

평면 위의 직선 NN개로 삼각형을 몇 개나 만들 수 있을까요? 직선들의 기울기가 모두 다르고 어떤 세 직선도 한 점에서 만나지 않는다면, 만들 수 있는 삼각형은 최대 (N3)\binom{N}{3}개입니다.

여기까지는 그리 어렵지 않습니다. 그런데 이제 삼각형, 즉 내부를 어떤 직선도 지나가지 않는 삼각형만 세어 봅시다. 그러면 그 개수는 갑자기 매우 작아집니다. 예를 들어 직선 44개로 만들 수 있는 삼각형은 최대 44개이지만, 그중 빈 삼각형은 최대 22개뿐입니다(그림 참고).

직선 NN개로 만들 수 있는 빈 삼각형의 최대 개수에 대한 일반적인 공식은 알려져 있지 않으며, 어려운 부분은 직선들을 어떻게 배치하느냐입니다. 여러분이 할 일은 더 쉽습니다. 주어진 직선 NN개가 만드는 빈 삼각형의 개수를 세면 됩니다.

두 개의 빈 삼각형(음영)을 만드는 네 직선.

그림 1: 두 개의 빈 삼각형(음영)을 이루는 네 직선.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 직선의 개수를 나타내는 정수 NN (1N5001 \le N \le 500)이 주어집니다. 이어지는 NN개의 줄에는 각각 네 정수 x1x_1, y1y_1, x2x_2, y2y_2 (1000-1000 이상 10001000 이하)가 주어지며, 이는 두 점 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2)를 지나는 직선을 나타냅니다. 어떤 세 직선도 한 점에서 만나지 않으며, 모든 직선은 서로 다릅니다. 입력의 끝은 N=0N = 0인 줄로 표시되며, 이 줄은 처리하지 않습니다.

출력

각 테스트 케이스마다 주어진 직선들이 만드는 빈 삼각형의 개수를 한 줄에 출력합니다.