셋이 놀기

시간 제한2초메모리 제한128 MB

요약
N개의 점과 고정된 직각삼각형 변의 길이 A, B, C가 주어졌을 때 정확히 그 모양의 직각삼각형을 이루는 점 세 개의 조합 수를 구합니다.
난이도

어려움10점 중 8점

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

문제

2차원 평면에 서로 다른 N개의 점이 있다. 이 중 세 점을 골라 세 변의 길이가 정확히 A, B, C인 직각삼각형을 만들 수 있는 경우의 수를 구하라.

세 길이는 A < B < C이고 C^2 = A^2 + B^2를 만족하므로, A와 B가 직각을 이루는 두 변이다. 같은 세 점으로 이루어진 삼각형은 한 번만 센다.

입력

첫 줄에 점의 수와 직각삼각형의 세 변의 길이를 나타내는 정수 N, A, B, C가 주어진다.

  • 1 <= N <= 500,000
  • 1 <= A < B < C <= 250,000
  • C^2 = A^2 + B^2

다음 N줄에는 각 점의 좌표를 나타내는 두 정수 x, y가 주어진다.

  • -1,000,000,000 <= x, y <= 1,000,000,000
  • N개의 점은 모두 서로 다르다.

출력

조건을 만족하는 세 점의 선택 방법의 수를 출력한다.

예제1

  1. 예제 1

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