#abc306e. [abc306_e]Best Performances

[abc306_e]Best Performances

問題文

長さ NN の数列 A=(A1,A2,dots,AN)A=(A_1,A_2,\\dots,A_N) があり、最初全ての項が 00 です。
入力で与えられる整数 KK を用いて関数 f(A)f(A) を以下のように定義します。

  • AA を降順に (広義単調減少となるように) ソートしたものを BB とする。
  • このとき、 f(A)=B1+B2+dots+BKf(A)=B_1 + B_2 + \\dots + B_K とする。

この数列に合計 QQ 回の更新を行うことを考えます。
数列 AA に対し以下の更新を i=1,2,dots,Qi=1,2,\\dots,Q の順に行い、各更新ごとにその時点での f(A)f(A) の値を出力してください。

  • AXiA_{X_i}YiY_i に変更する。

制約

  • 入力は全て整数
  • 1leKleNle5times1051 \\le K \\le N \\le 5 \\times 10^5
  • 1leQle5times1051 \\le Q \\le 5 \\times 10^5
  • 1leXileN1 \\le X_i \\le N
  • 0leYile1090 \\le Y_i \\le 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN KK QQ X1X_1 Y1Y_1 X2X_2 Y2Y_2 vdots\\vdots XQX_Q YQY_Q

出力

全体で QQ 行出力せよ。そのうち ii 行目には ii 回目の更新を終えた時点での f(A)f(A) の値を整数として出力せよ。


入力例 1

4 2 10
1 5
2 1
3 3
4 2
2 10
1 0
4 0
3 1
2 0
3 0

出力例 1

5
6
8
8
15
13
13
11
1
0

この入力では N=4,K=2N=4,K=2 です。 Q=10Q=10 回の更新を行います。

  • 11 回目の更新を受けて A=(5,0,0,0)A=(5,0,0,0) となります。このとき f(A)=5f(A)=5 です。
  • 22 回目の更新を受けて A=(5,1,0,0)A=(5,1,0,0) となります。このとき f(A)=6f(A)=6 です。
  • 33 回目の更新を受けて A=(5,1,3,0)A=(5,1,3,0) となります。このとき f(A)=8f(A)=8 です。
  • 44 回目の更新を受けて A=(5,1,3,2)A=(5,1,3,2) となります。このとき f(A)=8f(A)=8 です。
  • 55 回目の更新を受けて A=(5,10,3,2)A=(5,10,3,2) となります。このとき f(A)=15f(A)=15 です。
  • 66 回目の更新を受けて A=(0,10,3,2)A=(0,10,3,2) となります。このとき f(A)=13f(A)=13 です。
  • 77 回目の更新を受けて A=(0,10,3,0)A=(0,10,3,0) となります。このとき f(A)=13f(A)=13 です。
  • 88 回目の更新を受けて A=(0,10,1,0)A=(0,10,1,0) となります。このとき f(A)=11f(A)=11 です。
  • 99 回目の更新を受けて A=(0,0,1,0)A=(0,0,1,0) となります。このとき f(A)=1f(A)=1 です。
  • 1010 回目の更新を受けて A=(0,0,0,0)A=(0,0,0,0) となります。このとき f(A)=0f(A)=0 です。