OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题 H: 梦中jzl和女友散步

问题 H: 梦中jzl和女友散步

时间限制: 1 Sec  内存限制: 512 MB
提交: 130  解决: 25
[提交] [状态] [讨论版] [命题人:]

题目描述

梦里,jzl和他的女朋友小H正在公园散步,难得有空,jzl却边走路边扣手机,丝毫不看小H一眼,小H生气了,决定惩罚一下他。于是她找来拥有上帝视角的你,每隔一段时间,她都会告诉你他们的位置X(假设公园是一条X轴,两个人只往X轴正向或负向移动),并且让你把一段位置的信号给屏蔽了,这时候jzl发现手机没信号,开始急了,他看看前面,看看后面,不知道往哪跑能更快接收到信号,然而,jzl的运气确实好啊,每次都能跑到最近的信号点,你不忍心看到jzl跑来跑去,于是偶尔偷偷地恢复一段位置的信号。对于每次询问请你告诉大家,jzl最少跑多远能够接收到信号呢?

输入

第一行两个整数N, Q(1 <= N <= 1e9, 1 <= Q <= 1e5),分别表示公园的长度和询问次数。
接下来Q行,每行有几种操作:
1、op = 1, 输入l, r(1 <= l, r <= N), L = (l ⊕ lstans) % N + 1, R = (r ⊕ lstans) % N + 1,表示屏蔽位置[min(L, R), max(L, R)]的信号;
2、op = 2, 输入l, r(1 <= l, r <= N), L = (l ⊕ lstans) % N + 1, R = (r ⊕ lstans) % N + 1,表示恢复位置[min(L, R), max(L, R)]的信号;
3、op = 3, 输入x(1 <= x <= N), X = (x ⊕ lstans) % N + 1,表示此时jzl和小H所在的位置。
lstans表示上一次询问的答案,初始时候lstans = 0,并且信号在1到N任意位置都有效。

输出

对于所有op = 3的询问,输出答案,若没有信号区,输出1000000000。

样例输入 Copy

3 4
1 1 3
3 1
3 2
3 3

样例输出 Copy

1
2
1