U573250 强制在线寂寂寞寞队

题目背景

那一天的寂寞,寂寞起来。

题目描述

马嘉祺购买了一套 $N$ 个彩色柠檬(其中有些颜色可能相同),摆成一排,你需要回答马嘉祺的提问。马嘉祺会向你发布如下指令: 1. $Q\ L\ R$ 代表询问你从第 $L$ 个柠檬到第 $R$ 个柠檬中共有几种不同颜色的柠檬。 2. $R\ P\ C$ 把第 $P$ 个柠檬替换为颜色 $C$ 柠檬 。 为了满足马嘉祺的要求,你知道你需要干什么了吗? 本题 **强制在线**,马嘉祺会给定一个值 $lemon$,设上一次询问的答案为 $ans$,每次你得到的 $L,R,P,C$ 都需要解密,解密方式为: $$ l \gets ((l\oplus (lemon \times ans)+114514) \bmod n)+1 \\ r \gets ((r\oplus (lemon \times ans)+114514) \bmod n)+1\\ p \gets ((p\oplus (lemon \times ans)+1919810) \bmod n)+1\\ c \gets ((c\oplus (lemon \times ans)+1919810)\bmod 10^6) +1 $$ 注意当 $l>r$ 时记得交换。 ```cpp int to1(int x){ return ((x^(lemon*lst))+114514)%n+1; } int to2(int x){ return ((x^(lemon*lst))+1919810)%n+1; } int to3(int x){ return ((x^(lemon*lst))+1919810)%(1000000)+1; } ```

输入格式

第 $1$ 行一个整数 $lemon$,表示密码子。 第 $2$ 行两个整数 $N$,$M$,分别代表初始柠檬的数量以及马嘉祺会做的事情的个数。 第 $3$ 行 $N$ 个整数,分别代表初始柠檬排列中第 $i$ 个柠檬的颜色。 第 $4$ 行到最后,每行分别代表马嘉祺会做的一件事情,格式见题干部分。

输出格式

共 $cnt$ 行,$cnt$ 表示询问的个数。

说明/提示

时代少年团我们喜欢你。 对于 $30 \%$ 的数据,满足 $lemon=0$。 对于 $100 \%$ 的数据,满足 $n \le 50000,m\le 50000,V\le 1000000,lemon \le 1000$。