The Fair Nut and Amusing Xor

题意翻译

对于两个等长的非负整数序列,我们定义这两个序列的相似度为将其中一个序列转化为另一个序列所需的最小操作次数。一次操作定义如下: - 选择序列中的一个长度为 $k$ 的子段,将子段内的所有元素异或上一个相同的值 $x$,$x$ 可以任意决定。 例如,当 $k = 2$ 时,将序列 $\{0, 0, 0\}$ 的子段 $[1, 2]$ 内的所有元素异或上 $1$ 得到序列 $\{1, 1, 0\}$,之后将子段 $[2, 3]$ 内的所有元素异或上 $2$ 得到序列 $\{1, 3, 2\}$,因此序列 $\{0, 0, 0\}$ 与序列 $\{1, 3, 2\}$ 的相似度为 $2$。 特殊地,若其中一个序列无论如何都不能转化到另一个序列,那么这两个序列的相似度为 $-1$。 给定两个长度为 $n$ 的序列 $\{a_i\}$ 与 $\{b_i\}$,你需要求出它们的相似度。这之后,将会有 $q$ 次修改操作,单次操作格式如下: - `s p v`:其中,$s$ 是一个小写字符,且要么为 `a`,要么为 `b`。若 $s =$ `a`,则表明将 $a_p$ 的值修改为 $v$;若 $s =$ `b`,则表明将 $b_p$ 的值修改为 $v$。 在每一次修改操作结束后,你也需要求出两个序列的相似度。输出最开始及每次修改后的答案。 $1 \leq k \leq n \leq 2 \times 10^5, 0 \leq q \leq 2 \times 10^5, 1 \leq p \leq n, 0 \leq a_i, b_i, v < 2^{14}$,输入保证给出的两个序列长度均为 $n$。

题目描述

The Fair Nut has two arrays $ a $ and $ b $ , consisting of $ n $ numbers. He found them so long ago that no one knows when they came to him. The Fair Nut often changes numbers in his arrays. He also is interested in how similar $ a $ and $ b $ are after every modification. Let's denote similarity of two arrays as the minimum number of operations to apply to make arrays equal (every operation can be applied for both arrays). If it is impossible, similarity will be equal $ -1 $ . Per one operation you can choose a subarray with length $ k $ ( $ k $ is fixed), and change every element $ a_i $ , which belongs to the chosen subarray, to $ a_i \oplus x $ ( $ x $ can be chosen), where $ \oplus $ denotes the [bitwise XOR operation](https://en.wikipedia.org/wiki/Bitwise_operation#XOR). Nut has already calculated the similarity of the arrays after every modification. Can you do it? Note that you just need to calculate those values, that is you do not need to apply any operations.

输入输出格式

输入格式


The first line contains three numbers $ n $ , $ k $ and $ q $ ( $ 1 \le k \le n \le 2 \cdot 10^5 $ , $ 0 \le q \le 2 \cdot 10^5 $ ) — the length of the arrays, the length of the subarrays, to which the operations are applied, and the number of queries. The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i < 2^{14} $ ) — elements of array $ a $ . The third line contains $ n $ integers $ b_1, b_2, \ldots, b_n $ ( $ 0 \le b_i < 2^{14} $ ) — elements of array $ b $ . Each of the next $ q $ lines describes query and contains string $ s $ and two integers $ p $ and $ v $ ( $ 1 \le p \le n $ , $ 0 \le v < 2^{14} $ ) — array, which this query changes («a» or «b» without quotes), index of changing element and its new value.

输出格式


On the first line print initial similarity of arrays $ a $ and $ b $ . On the $ i $ -th of following $ q $ lines print similarity of $ a $ and $ b $ after applying first $ i $ modifications.

输入输出样例

输入样例 #1

3 3 1
0 4 2
1 2 3
b 2 5

输出样例 #1

-1
1

输入样例 #2

3 2 2
1 3 2
0 0 0
a 1 0
b 1 1

输出样例 #2

2
-1
2

说明

In the first sample making arrays $ [0, 4, 2] $ and $ [1, 2, 3] $ is impossible with $ k=3 $ . After the modification, you can apply the operation with $ x=1 $ to the whole first array (its length is equal to $ k $ ), and it will be equal to the second array. In order to make arrays equal in the second sample before changes, you can apply operations with $ x=1 $ on subarray $ [1, 2] $ of $ a $ and with $ x=2 $ on subarray $ [2, 3] $ of $ b $ . After all queries arrays will be equal $ [0, 3, 2] $ and $ [1, 0, 0] $ . The same operations make them equal $ [1, 2, 2] $ .