만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

별자리 2

시간 제한9초메모리 제한512 MB

요약
빨강, 파랑, 노랑 별을 꼭짓점으로 하나씩 쓰는 삼각형 두 개의 쌍 중 서로 겹치지 않는 쌍의 수를 셉니다.
난이도

어려움10점 중 8점

유형
기하, 정렬, 구현
정답자
아직 제출이 없습니다

문제

JOI 양과 IOI 양은 절친한 친구이다. 어느 날 두 사람은 산 위의 전망대에서 천체 관측을 하기로 했다.

전망대에서는 N개의 별을 관측할 수 있다. 별에는 1번부터 N번까지 번호가 붙어 있고, 각 별은 빨강, 파랑, 노랑 중 하나의 색을 띤다.

별 i는 좌표 평면 위의 점 Pi(Xi,Yi)P_i(X_i, Y_i)로 나타난다. 점 P1,…,PNP_1, \ldots, P_N은 모두 서로 다르고, 어떤 세 점도 한 직선 위에 있지 않다.

두 사람은 JOIOI 좌라는 별자리를 만들려고 한다. 먼저 빨강, 파랑, 노랑 별을 하나씩 꼭짓점으로 삼는 삼각형을 생각한다. 이런 삼각형을 좋은 삼각형이라고 부른다. 두 사람은 다음 조건을 만족하는 좋은 삼각형 두 개의 쌍(순서는 상관없다)을 JOIOI 좌 후보로 정한다.

  • 두 좋은 삼각형(둘레와 내부 포함)은 공통점이 없다. 즉, 두 삼각형이 겹치거나 한쪽이 다른 쪽을 포함해서는 안 된다.

조건을 만족하는 예.

조건을 만족하지 않는 예.

두 사람은 JOIOI 좌 후보가 몇 개인지 세려고 한다. 같은 여섯 별로 이루어진 후보라도 좋은 삼각형을 만드는 방식이 다르면 서로 다른 후보로 센다.

관측된 별의 정보가 주어질 때 JOIOI 좌 후보의 총 개수를 출력하라.

입력

표준 입력에서 다음 데이터를 읽는다.

첫 줄에는 별의 개수 N이 주어진다. 이어지는 N개의 줄 중 i번째 줄에는 공백으로 구분된 정수 XiX_i, YiY_i, CiC_i가 주어진다. 별 i의 좌표는 Pi(Xi,Yi)P_i(X_i, Y_i)이다. CiC_i가 0이면 빨강, 1이면 파랑, 2이면 노랑이다.

출력

표준 출력에 JOIOI 좌 후보의 총 개수를 정수 한 줄로 출력한다.

제한

  • 6≤N≤30006 \le N \le 3000.
  • −100000≤Xi≤100000-100000 \le X_i \le 100000.
  • −100000≤Yi≤100000-100000 \le Y_i \le 100000.
  • 0≤Ci≤20 \le C_i \le 2.
  • 각 색의 별이 한 개 이상 있다.
  • Pi≠PjP_i \ne P_j (1≤i<j≤N1 \le i < j \le N).
  • Pi,Pj,PkP_i, P_j, P_k는 한 직선 위에 있지 않다 (1≤i<j<k≤N1 \le i < j < k \le N).

예제3

  1. 예제 1

    입력
    7
    0 0 0
    2 0 1
    1 2 2
    -2 1 0
    -2 -3 0
    0 -2 1
    2 -2 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    8
    16 0 0
    17 0 0
    0 7 2
    0 -7 2
    -1 -1 1
    -1 1 2
    -6 4 1
    -6 -4 1
    
    예상 출력
    12
    
  3. 예제 3

    입력
    21
    1 20 0
    4 20 0
    0 22 0
    5 22 0
    6 25 0
    8 25 0
    4 26 0
    11 11 1
    7 12 1
    14 13 1
    8 15 1
    15 16 1
    11 17 1
    18 0 2
    13 2 2
    16 2 2
    19 4 2
    18 6 2
    21 8 2
    24 8 2
    19 10 2
    
    예상 출력
    7748