依古比古是OP
题号:NC232182
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

依古比古 喜欢原神。

为了更好的管理角色,依古比古 给每个角色赋了一个权值,构成一个权值序列 

不幸的是,依古比古 的记性并不好,他甚至忘记了序列  具体长啥样,只记得序列  是一个长度为  的严格单调递增的正整数序列,且满足 

同时,为了方便管理,依古比古 实现了一个奇怪的算法:

image-20211215175631901

容易看出,这个算法的作用是找到序列  中第一个大于  的位置。

现在,依古比古 给出了  次询问 ,他想要知道在所有可能的序列  上运行 Search(x[i]) 调用 Check 函数的次数的和。

由于答案和输出量很大,令第  次询问的答案为 ,你只需要输出( 表示异或): ,即 的异或和。


输入描述:

输入第一行三个整数  (  ) ,分别表示序列长度、序列中元素的范围和询问次数。

第二行  个整数  (  ),表示询问。

输出描述:

  输出一行一个整数表示压缩后的答案。
示例1

输入

复制
3 4 5
0 1 2 3 4

输出

复制
20

说明