만드는 중입니다

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

화학 성분 조합

면접 대비

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

요약
추가와 삭제 쿼리를 처리할 때마다 현재 구성 요소 중 효율의 합이 m의 배수인 쌍의 개수를 출력합니다.
난이도

보통10점 중 4점

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

문제

Силко와 그의 수석 과학자 Сингед는 연구실에서 위험한 약물을 계속 만들고 있다.

지금 만들고 있는 물질의 이름은 "Мерцание"다. 이 물질은 효과 ee를 가지며, 단순한 화학 성분으로 구성된다. 같은 성분이 여러 번 들어갈 수 있다. 각 화학 성분에도 효과가 정해져 있다.

과학자들은 최종 조성을 아직 정하지 않았다. 하지만 약의 강도가 다음과 같이 정해진다는 것은 알고 있다. i≠ji \neq j인 성분 쌍 (i,j)(i, j) 중에서, 두 성분 효과의 합 ai+aja_i + a_j가 ee의 배수가 되는 쌍의 개수가 약의 강도이다.

처음에는 조성에 성분이 없다. 다음 두 종류의 질의를 nn개 처리하라.

  1. 효과가 aia_i인 화학 성분을 조성에 추가한다.
  2. 효과가 aia_i인 화학 성분을 조성에서 제거한다. 그 효과를 가진 성분이 여러 개 있으면 하나만 제거한다.

각 질의를 처리한 후, 현재 조성의 약의 강도를 출력하라.

입력

첫 줄에 공백으로 구분된 두 정수 nn과 mm이 주어진다. nn은 질의의 수이고, mm은 약의 목표 효과이다. 문제 본문의 ee에 해당한다 (1≤n≤1051 \le n \le 10^5; 2≤m≤1092 \le m \le 10^9).

다음 nn개 줄에는 각각 두 정수 tit_i와 aia_i가 주어진다. tit_i는 질의의 종류이며 (ti∈{1,2}t_i \in \{1, 2\}, 1이면 추가, 2이면 제거), aia_i는 성분의 효과이다 (−109≤ai≤109-10^9 \le a_i \le 10^9).

출력

nn개 줄을 출력한다. ii번째 줄에는 처음 ii개의 질의를 적용한 후의 약의 강도를 출력한다.

예제1

  1. 예제 1

    입력
    7 19
    1 10
    1 13
    1 25
    1 6
    2 25
    1 9
    2 10
    
    예상 출력
    0
    0
    1
    2
    1
    2
    1