在这题你需要维护一个支持异或变换操作的双端队列。
我们定义队列中第i+1个元素为ai,队首位置为a0,队尾位置为an−1。你将读取并执行以下六种操作:
1 x: 在队首插入整数x,换句话说,队列将变成x,a0,a1,…,an−1
2: 输出并弹出队首,换句话说,你需要输出a0,然后将队列置为a1,a2,…,an−1。保证n≥1。
3 x: 在队尾插入整数x,换句话说,队列将变成a0,a1,…,an−1,x
4: 输出并弹出队尾,换句话说,你需要输出an−1,然后将队列置为a0,a1,…,an−2。保证n≥1。
5 x: 输出ax,保证0≤x<n。
6 x: 对队列进行x异或变换。x异或变换定义为,设原队列为a,变换后队列为b,则bi=ai⊕x。其中,⊕为异或运算,保证对于输入的x,变换后的序列也是合法的,即∀0≤i<n,0≤x⊕i<n。