만드는 중입니다

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

충돌

시간 제한9초메모리 제한2048 MB

요약
원형 호수 둘레 L을 달리는 참가자 명단이 주어질 때, 각 추가 또는 삭제 후 T초 동안 두 참가자가 만나는 횟수를 구합니다.
난이도

어려움10점 중 9점

유형
수학, 정수론, 정렬
정답자
아직 제출이 없습니다

문제

비타로는 크고 둥근 호수 둘레에 살고 있다. 호수 둘레의 길이는 LL이고, 둘레의 한 지점에 비타로의 집이 있다. 집에서 호수 둘레를 시계 방향으로 xx (0≤x<L0 \leq x < L)만큼 이동한 지점을 지점 xx라고 부른다. 현재 호수 둘레에서 마라톤 대회가 계획되고 있다.

비타로가 들은 대회 진행 방식은 다음과 같다.

  • 번호 00부터 L−1L - 1까지가 적힌 배번이 각각 한 장씩 준비되어 있다. 참가자는 배번 중 하나를 달고 뛴다. 배번 ll (0≤l≤L−10 \leq l \leq L - 1)을 단 참가자의 출발 지점은 지점 ll이다.
  • 대회가 시작된 뒤 TT초 동안 참가자들은 각자의 속도로 호수 둘레를 시계 방향으로 이동한다. 시작한 지 tt초 (0≤t≤T0 \leq t \leq T)가 지난 시점을 시각 tt라고 부른다.

비타로는 마라톤 대회 참가자 명단을 갖고 있다. 현재 명단에는 NN명이 올라 있다. ii번째 참가자 (1≤i≤N1 \leq i \leq N)는 배번 AiA_i를 달고, 초당 SiS_i의 속도로 호수 둘레를 시계 방향으로 이동할 예정이다.

명단을 바탕으로 비타로는 대회 중 일어나는 충돌의 횟수를 구했다. 여기서 충돌은 서로 다른 참가자 두 명이 같은 지점에 있는 경우를 말한다. 정확히는, 0≤p<q≤L−10 \leq p < q \leq L - 1을 만족하는 정수 p,qp, q와 0≤t≤T0 \leq t \leq T를 만족하는 실수 tt로 이루어진 순서쌍 (p,q,t)(p, q, t) 가운데 다음 조건을 모두 만족하는 것의 개수를 구했다.

  • 배번 pp를 단 참가자가 있다.
  • 배번 qq를 단 참가자가 있다.
  • 배번 pp를 단 참가자와 배번 qq를 단 참가자가 시각 tt에 같은 지점에 있다.

그 뒤 참가자 명단에 QQ번의 변경이 있었다. jj번째 변경 (1≤j≤Q1 \leq j \leq Q)은 정수 XjX_j, YjY_j로 주어지며 다음과 같다.

  • 현재 배번 XjX_j를 달고 초당 YjY_j의 속도로 호수 둘레를 시계 방향으로 이동하는 사람이 명단에 있으면, 그 사람을 명단에서 지운다. 없으면, 배번 XjX_j를 달고 초당 YjY_j의 속도로 이동하는 사람을 명단에 새로 추가한다.

단, 어떤 변경이 끝난 시점에서도 명단에는 참가자가 2명 이상 있고, 참가자가 단 배번은 모두 서로 다르다고 보장된다.

비타로는 각 변경이 끝난 시점의 참가자들에 대해 대회 중 일어나는 충돌의 횟수를 알고 싶어 한다. 제약에 따라 충돌 횟수가 유한하다는 것은 증명할 수 있다.

입력

첫 번째 줄에 NN, LL, TT가 주어진다.

두 번째 줄에 A1,A2,…,ANA_1, A_2, \ldots, A_N이 주어진다.

세 번째 줄에 S1,S2,…,SNS_1, S_2, \ldots, S_N이 주어진다.

네 번째 줄에 QQ가 주어진다.

이어서 QQ개의 줄에 각각 XjX_j와 YjY_j가 주어진다.

출력

QQ개의 줄을 출력한다. jj번째 줄 (1≤j≤Q1 \leq j \leq Q)에는 jj번째 변경이 끝난 시점의 참가자들에 대해 대회 중 일어나는 충돌의 횟수를 1,000,000,0071,000,000,007로 나눈 나머지를 출력한다.

제한

  • 2≤N2 \leq N.
  • N≤L≤109N \leq L \leq 10^9.
  • 1≤T≤1091 \leq T \leq 10^9.
  • 0≤Ai≤L−10 \leq A_i \leq L - 1 (1≤i≤N1 \leq i \leq N).
  • Ai≠AjA_i \neq A_j (1≤i<j≤N1 \leq i < j \leq N).
  • 1≤Si≤1091 \leq S_i \leq 10^9 (1≤i≤N1 \leq i \leq N).
  • 1≤Q1 \leq Q.
  • N+Q≤100000N + Q \leq 100000.
  • 0≤Xj≤L−10 \leq X_j \leq L - 1 (1≤j≤Q1 \leq j \leq Q).
  • 1≤Yj≤1091 \leq Y_j \leq 10^9 (1≤j≤Q1 \leq j \leq Q).
  • 어떤 변경이 끝난 시점에서도 참가자는 2명 이상이다.
  • 어떤 변경이 끝난 시점에서도 참가자의 출발 지점은 서로 다르다.
  • 입력되는 값은 모두 정수이다.

예제4

  1. 예제 1

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

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

    입력
    2 100000 993754689
    58683 3478
    28489 48682814
    1
    28482 39599461
    
    예상 출력
    9265409
    
  4. 예제 4

    입력
    7 100 100
    34 12 46 23 57 63 99
    12 34 23 12 34 12 23
    5
    67 34
    99 23
    33 34
    99 12
    23 12
    
    예상 출력
    330
    264
    341
    440
    341