{"trustable":true,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv class\u003d\"panel_content\"\u003eThere is an integer sequence $a$ of length $n$ and there are two kinds of operations:\u003cbr\u003e\u003cli\u003e0 l r: select some numbers from $a_l...a_r$ so that their xor sum is maximum, and print the maximum value.\u003c/li\u003e\u003cbr\u003e\u003cli\u003e1 x: append $x$ to the end of the sequence and let $n\u003dn+1$.\u003c/li\u003e\u003cbr\u003e\u003c/div\u003e"}},{"title":"Input","value":{"format":"HTML","content":"There are multiple test cases. The first line of input contains an integer $T(T\\le 10)$, indicating the number of test cases.\u003cbr\u003eFor each test case: \u003cbr\u003eThe first line contains two integers $n, m(1\\le n\\le 5\\times 10^5, 1\\le m\\le 5\\times 10^5)$, the number of integers initially in the sequence and the number of operations.\u003cbr\u003eThe second line contains $n$ integers $a_1,a_2,...,a_n(0\\le a_i\u0026lt; 2^{30})$, denoting the initial sequence.\u003cbr\u003eEach of the next $m$ lines contains one of the operations given above.\u003cbr\u003eIt\u0027s guaranteed that $\\sum n\\le 10^6, \\sum m\\le 10^6 , 0\\le x\u0026lt; 2^{30}$.\u003cbr\u003eAnd operations will be encrypted. You need to decode the operations as follows, where lastans denotes the answer to the last type 0 operation and is initially zero: \u003cbr\u003eFor every type 0 operation, let l\u003d(l xor lastans)mod n + 1, r\u003d(r xor lastans)mod n + 1, and then swap(l, r) if l\u0026gt;r.\u003cbr\u003eFor every type 1 operation, let x\u003dx xor lastans."}},{"title":"Output","value":{"format":"HTML","content":"For each type 0 operation, please output the maximum xor sum in a single line."}},{"title":"Sample","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e1\r\n3 3\r\n0 1 2\r\n0 1 1\r\n1 3\r\n0 3 4\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e1\r\n3\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}