아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

정사각형은 몇 개?

시간 제한1초메모리 제한256 MB

요약
주어진 무한 직선들 가운데 네 직선으로 정사각형을 이루는 경우의 수를 셉니다.
난이도

보통10점 중 6점

유형
기하, 해시맵
정답자
아직 제출이 없습니다

문제

웹 광고에 걸린 퀴즈가 사진 속에 정사각형이 몇 개 있는지 묻는다. 당첨 확률을 높이려고 답을 세어 주는 프로그램을 만들기로 했다. 문제를 단순하게 만들기 위해, 사진에는 선분이 아니라 양쪽으로 무한히 뻗는 직선만 그려져 있다고 가정한다.

사진에 그려진 직선이 만드는 정사각형이 몇 개인지 세어라.

네 직선 ℓ1\ell_1, ℓ2\ell_2, ℓ3\ell_3, ℓ4\ell_4가 다음 세 조건을 모두 만족하면 정사각형을 이룬다고 한다.

  • ℓ1\ell_1과 ℓ3\ell_3은 서로 평행하다.
  • ℓ2\ell_2와 ℓ4\ell_4는 ℓ1\ell_1, ℓ3\ell_3과 수직이다. 따라서 ℓ2\ell_2와 ℓ4\ell_4도 서로 평행하다.
  • ℓ1\ell_1과 ℓ3\ell_3 사이의 거리가 ℓ2\ell_2와 ℓ4\ell_4 사이의 거리와 같다.

네 직선을 고르는 순서는 상관없으므로 같은 네 직선으로 이루어진 정사각형은 한 번만 센다.

입력

첫째 줄에 직선의 개수 nn이 주어진다. (1≤n≤20001 \le n \le 2000)

다음 nn개의 줄에는 직선 하나의 정보가 네 정수 x1x_1, y1y_1, x2x_2, y2y_2로 주어진다. 이 직선은 점 (x1,y1)(x_1, y_1)과 점 (x2,y2)(x_2, y_2)를 지난다. 네 정수의 절댓값은 모두 1000010000 이하다.

한 직선을 나타내는 두 점은 서로 다르고, nn개의 직선은 모두 서로 다르다.

출력

주어진 직선들이 만드는 정사각형의 개수를 한 줄에 정수 하나로 출력하라.

예제2

  1. 예제 1

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

    입력
    4
    0 0 0 1
    1 0 1 5
    0 0 1 0
    0 1 5 1
    
    예상 출력
    1