{"raw_statement":[{"iden":"statement","content":"给定一个长度为 $n$ 的序列 $a$。\n\n我们定义一次操作为，**同时**将序列 $a$ 中的**每个**元素 $a_i$ 替换为 $\\bigoplus\\limits_{j=1}^i a_j$（即 $a_1$ 至 $a_i$ 的异或和），其中 $\\bigoplus$ 表示**按位异或**，即 C++ 中的 `^`。\n\n现有 $q$ 次有序的修改，每次修改会给定两个整数 $x_i,p_i$，表示将 $a_{x_i}$ 的值修改为 $p_i$。**修改之间并不独立，每次修改会对后续的修改产生影响**。\n\n你需要在每次修改后，找到**最小**的正整数 $t$，满足进行 $t$ 次操作后的序列 $a$ 与操作前的序列 $a$ 相同。可以证明一定存在满足要求的正整数 $t$。\n\n由于答案可能很大，所以你只需要输出答案对 $(10^9+7)$ 取模的结果。"},{"iden":"input","content":"第一行输入两个整数 $n,q$。\n\n第二行输入 $n$ 个整数，表示给定的序列 $a$。\n\n接下来 $q$ 行，每行输入两个整数 $x_i,p_i$，表示一次修改。"},{"iden":"output","content":"共 $q$ 行，每行输出一个整数，其中第 $i$ 行的整数表示第 $i$ 次修改后，最小的满足要求的正整数 $t$ 对 $(10^9+7)$ 取模的结果。"},{"iden":"note","content":"#### 「样例解释 #1」\n\n第 $1$ 次修改后的序列 $a$ 为 $\\{3,2,0\\}$，此时进行 $1$ 次操作后的序列 $a$ 为 $\\{3,1,1\\}$，进行 $2$ 次操作后的序列 $a$ 为 $\\{3,2,3\\}$，进行 $3$ 次操作后的序列 $a$ 为 $\\{3,1,2\\}$，进行 $4$ 次操作后的序列 $a$ 为 $\\{3,2,0\\}$，所以最小的满足要求的正整数 $t$ 为 $4$。\n\n#### 「数据范围」\n\n对于所有数据，$1 \\le n,q \\le 3\\times10^5$，$0 \\le a_i,p_i \\le 10^9$，$1 \\le x_i \\le n$。\n\n**只有你通过本题的所有测试点，你才能获得本题的分数。**"}],"translated_statement":null,"sample_group":[["3 3\n3 1 0\n2 2\n1 0\n2 0","4\n2\n1"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}