import bisect
def main():
import sys
input = sys.stdin.read
data = input().split()
ptr = 0
N = int(data[ptr])
ptr += 1
K = int(data[ptr])
ptr += 1
Q = int(data[ptr])
ptr += 1
A = [0] * N
sorted_values = []
freq = {}
def add_value(v):
if v not in freq:
bisect.insort(sorted_values, -v) # Store in descending order using negatives
freq[v] = 0
freq[v] += 1
def remove_value(v):
freq[v] -= 1
if freq[v] == 0:
idx = bisect.bisect_left(sorted_values, -v)
del sorted_values[idx]
del freq[v]
# Initialize all zeros
add_value(0)
freq[0] += (N - 1) # Initially, all zeros; add N-1 more (1 added already)
for _ in range(Q):
X_i = int(data[ptr]) - 1 # Convert to 0-based
ptr += 1
Y_i = int(data[ptr])
ptr += 1
old_val = A[X_i]
new_val = Y_i
# Remove old_val
if freq[old_val] == 1:
idx = bisect.bisect_left(sorted_values, -old_val)
del sorted_values[idx]
del freq[old_val]
else:
freq[old_val] -= 1
# Add new_val
if new_val in freq:
freq[new_val] += 1
else:
bisect.insort(sorted_values, -new_val)
freq[new_val] = 1
A[X_i] = new_val
# Compute sum of top K elements
current_sum = 0
count = 0
for val in sorted_values:
v = -val
cnt = freq[v]
if count + cnt <= K:
current_sum += v * cnt
count += cnt
else:
current_sum += v * (K - count)
count = K
break
if count >= K:
break
print(current_sum)
if __name__ == '__main__':
main()
aW1wb3J0IGJpc2VjdAoKZGVmIG1haW4oKToKICAgIGltcG9ydCBzeXMKICAgIGlucHV0ID0gc3lzLnN0ZGluLnJlYWQKICAgIGRhdGEgPSBpbnB1dCgpLnNwbGl0KCkKICAgIHB0ciA9IDAKICAgIE4gPSBpbnQoZGF0YVtwdHJdKQogICAgcHRyICs9IDEKICAgIEsgPSBpbnQoZGF0YVtwdHJdKQogICAgcHRyICs9IDEKICAgIFEgPSBpbnQoZGF0YVtwdHJdKQogICAgcHRyICs9IDEKCiAgICBBID0gWzBdICogTgoKICAgIHNvcnRlZF92YWx1ZXMgPSBbXQogICAgZnJlcSA9IHt9CgogICAgZGVmIGFkZF92YWx1ZSh2KToKICAgICAgICBpZiB2IG5vdCBpbiBmcmVxOgogICAgICAgICAgICBiaXNlY3QuaW5zb3J0KHNvcnRlZF92YWx1ZXMsIC12KSAgIyBTdG9yZSBpbiBkZXNjZW5kaW5nIG9yZGVyIHVzaW5nIG5lZ2F0aXZlcwogICAgICAgICAgICBmcmVxW3ZdID0gMAogICAgICAgIGZyZXFbdl0gKz0gMQoKICAgIGRlZiByZW1vdmVfdmFsdWUodik6CiAgICAgICAgZnJlcVt2XSAtPSAxCiAgICAgICAgaWYgZnJlcVt2XSA9PSAwOgogICAgICAgICAgICBpZHggPSBiaXNlY3QuYmlzZWN0X2xlZnQoc29ydGVkX3ZhbHVlcywgLXYpCiAgICAgICAgICAgIGRlbCBzb3J0ZWRfdmFsdWVzW2lkeF0KICAgICAgICAgICAgZGVsIGZyZXFbdl0KCiAgICAjIEluaXRpYWxpemUgYWxsIHplcm9zCiAgICBhZGRfdmFsdWUoMCkKICAgIGZyZXFbMF0gKz0gKE4gLSAxKSAgIyBJbml0aWFsbHksIGFsbCB6ZXJvczsgYWRkIE4tMSBtb3JlICgxIGFkZGVkIGFscmVhZHkpCgogICAgZm9yIF8gaW4gcmFuZ2UoUSk6CiAgICAgICAgWF9pID0gaW50KGRhdGFbcHRyXSkgLSAxICAjIENvbnZlcnQgdG8gMC1iYXNlZAogICAgICAgIHB0ciArPSAxCiAgICAgICAgWV9pID0gaW50KGRhdGFbcHRyXSkKICAgICAgICBwdHIgKz0gMQoKICAgICAgICBvbGRfdmFsID0gQVtYX2ldCiAgICAgICAgbmV3X3ZhbCA9IFlfaQoKICAgICAgICAjIFJlbW92ZSBvbGRfdmFsCiAgICAgICAgaWYgZnJlcVtvbGRfdmFsXSA9PSAxOgogICAgICAgICAgICBpZHggPSBiaXNlY3QuYmlzZWN0X2xlZnQoc29ydGVkX3ZhbHVlcywgLW9sZF92YWwpCiAgICAgICAgICAgIGRlbCBzb3J0ZWRfdmFsdWVzW2lkeF0KICAgICAgICAgICAgZGVsIGZyZXFbb2xkX3ZhbF0KICAgICAgICBlbHNlOgogICAgICAgICAgICBmcmVxW29sZF92YWxdIC09IDEKCiAgICAgICAgIyBBZGQgbmV3X3ZhbAogICAgICAgIGlmIG5ld192YWwgaW4gZnJlcToKICAgICAgICAgICAgZnJlcVtuZXdfdmFsXSArPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgYmlzZWN0Lmluc29ydChzb3J0ZWRfdmFsdWVzLCAtbmV3X3ZhbCkKICAgICAgICAgICAgZnJlcVtuZXdfdmFsXSA9IDEKCiAgICAgICAgQVtYX2ldID0gbmV3X3ZhbAoKICAgICAgICAjIENvbXB1dGUgc3VtIG9mIHRvcCBLIGVsZW1lbnRzCiAgICAgICAgY3VycmVudF9zdW0gPSAwCiAgICAgICAgY291bnQgPSAwCiAgICAgICAgZm9yIHZhbCBpbiBzb3J0ZWRfdmFsdWVzOgogICAgICAgICAgICB2ID0gLXZhbAogICAgICAgICAgICBjbnQgPSBmcmVxW3ZdCiAgICAgICAgICAgIGlmIGNvdW50ICsgY250IDw9IEs6CiAgICAgICAgICAgICAgICBjdXJyZW50X3N1bSArPSB2ICogY250CiAgICAgICAgICAgICAgICBjb3VudCArPSBjbnQKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIGN1cnJlbnRfc3VtICs9IHYgKiAoSyAtIGNvdW50KQogICAgICAgICAgICAgICAgY291bnQgPSBLCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBpZiBjb3VudCA+PSBLOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBwcmludChjdXJyZW50X3N1bSkKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBtYWluKCk=