만드는 중입니다

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

최고의 친구

면접 대비

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

요약
기지국을 설치하거나 철거하는 쿼리를 처리하고, 주어진 x에 대해 (-x,0), (x,0)과 예각삼각형을 이루는 기지국의 개수를 셉니다.
난이도

보통10점 중 6점

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

문제

범수와 윤성이는 둘도 없는 최고의 친구이다. 두 친구가 사는 마을은 2차원 좌표평면으로 나타낸다. 범수는 x축의 양의 방향에, 윤성이는 x축의 음의 방향에 살고 있어서 직접 만날 수 없다. 그래서 두 친구는 주로 게임을 하면서 우정을 쌓는다.

게임을 위한 통신은 좌표평면 위의 기지국을 거쳐 이루어진다. 원활하게 게임하려면 통신 속도가 충분히 빨라야 한다. 범수의 위치, 윤성이의 위치, 기지국의 위치가 예각삼각형을 이룰 때에만 초고속 통신을 이용해 게임을 할 수 있다. 마을은 날마다 개발되어 두 친구의 위치와 기지국 정보가 계속 바뀐다. 다음과 같은 QQ개의 질의를 처리해야 한다.

  • 1 xx: 범수의 위치가 (x,0)(x,0)이고 윤성이의 위치가 (−x,0)(-x,0)일 때, 초고속 통신이 가능한 기지국의 개수를 출력한다.
  • 2 xx yy: (x,y)(x,y)에 기지국이 없으면 새로 설치하고, 있으면 철거한다. 기지국은 x축 위에 있지 않다.

처음에는 설치된 기지국이 하나도 없다. 두 친구의 우정을 위해 질의를 올바르게 처리하는 프로그램을 작성하여라.

입력

첫 번째 줄에 질의의 개수 QQ가 주어진다. (1≤Q≤300 000)(1 \le Q \le 300\,000)

두 번째 줄부터 QQ개의 줄에 걸쳐 질의가 다음 형식 중 하나로 주어진다.

  • 1 xx: (1≤x≤109)(1 \le x \le 10^9)
  • 2 xx yy: (−109≤x,y≤109;y≠0)(-10^9 \le x,y \le 10^9; y \ne 0)

주어지는 수는 모두 정수이다. 1번 질의는 한 번 이상 주어진다.

출력

각 1번 질의에 대한 답을 주어진 순서대로 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    7
    2 0 1
    2 0 2
    2 0 3
    1 2
    1 1
    2 0 3
    1 1
    
    예상 출력
    1
    2
    1