만드는 중입니다

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

귀 모양 세기

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

요약
빨간 점 4개와 파란 점 2개로 각도 조건과 포함 조건을 만족하는 귀 모양을 세는 문제입니다.
난이도

어려움10점 중 8점

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

문제

좌표평면 위에 빨간 점 NN개와 파란 점 MM개가 있다. 빨간 점의 yy좌표는 모두 00이고, 파란 점의 yy좌표는 모두 00보다 크다.

수빈이는 이 점으로 귀 모양을 만들려고 한다. 귀 모양은 서로 다른 빨간 점 네 개 AA, BB, CC, DD와 서로 다른 파란 점 두 개 PP, QQ로 이루어지고, 다음 세 조건을 모두 만족해야 한다.

  • 점 BB와 점 CC는 선분 ADAD의 내부에 있다.
  • 각 PADPAD, 각 PDAPDA, 각 QBCQBC, 각 QCBQCB는 모두 9090도보다 작다.
  • 점 QQ는 삼각형 PADPAD의 내부에 있다. 변 위에 있으면 안 된다.

빨간 점과 파란 점이 주어졌을 때, 귀 모양을 만드는 방법의 수를 구하는 프로그램을 작성하시오.

AA와 DD를 맞바꾸거나 BB와 CC를 맞바꾼 것은 같은 귀 모양이다. 따라서 AA와 DD로 쓰는 점 두 개, BB와 CC로 쓰는 점 두 개, 점 PP, 점 QQ 가운데 하나라도 다르면 서로 다른 귀 모양으로 센다.

입력

첫째 줄에 NN과 MM이 주어진다. (1≤N,M≤3001 \le N, M \le 300)

둘째 줄에 빨간 점 NN개의 xx좌표가 주어진다.

셋째 줄부터 MM개의 줄에 파란 점의 xx좌표와 yy좌표가 한 줄에 하나씩 주어진다.

입력으로 주어지는 좌표는 모두 10 00010\,000보다 작거나 같은 자연수이다. 빨간 점은 서로 다르고, 파란 점도 서로 다르다.

출력

첫째 줄에 귀 모양을 만드는 방법의 수를 출력한다.

힌트

빨간 점이 x=1x = 1, x=2x = 2, x=6x = 6, x=9x = 9에 있고 파란 점이 (3,1)(3, 1), (6,5)(6, 5), (8,4)(8, 4), (5,3)(5, 3)에 있다고 하자. 빨간 점 네 개를 모두 쓰므로 AA와 DD는 x=1x = 1과 x=9x = 9의 점이고, BB와 CC는 x=2x = 2와 x=6x = 6의 점이다. PP와 QQ를 고르는 방법은 다음 네 가지다.

  • P=(5,3)P = (5, 3), Q=(3,1)Q = (3, 1)
  • P=(6,5)P = (6, 5), Q=(3,1)Q = (3, 1)
  • P=(8,4)P = (8, 4), Q=(3,1)Q = (3, 1)
  • P=(6,5)P = (6, 5), Q=(5,3)Q = (5, 3)

예제5

  1. 예제 1

    입력
    4 2
    3 2 8 7
    5 2
    4 4
    
    예상 출력
    1
    
  2. 예제 2

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

    입력
    4 4
    1 2 6 9
    3 1
    6 5
    8 4
    5 3
    
    예상 출력
    4
    
  4. 예제 4

    입력
    6 3
    100 200 399 800 900 999
    150 2
    250 3
    349 1
    
    예상 출력
    12
    
  5. 예제 5

    입력
    9 5
    1 2 3 4 5 6 7 8 9
    4 1
    5 2
    6 3
    7 4
    8 5
    
    예상 출력
    204