5067: Duff as a Queen

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

E. Duff as a Queen
time limit per test
7 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Duff is the queen of her country, Andarz Gu. She's a competitive programming fan. That's why, when he saw her minister, Malek, free, she gave her a sequence consisting of n non-negative integers, a1,a2,...,an and asked him to perform q queries for her on this sequence.
There are two types of queries:
  1. given numbers l,r and k, Malek should perform for each lir (, bitwise exclusive OR of numbers a and b).
  2. given numbers l and r Malek should tell her the score of sequence al,al+1,... ,ar.
Score of a sequence b1,...,bk is the number of its different Kheshtaks. A non-negative integer w is a Kheshtak of this sequence if and only if there exists a subsequence of b, let's denote it as bi1,bi2,... ,bix (possibly empty) such that (1≤i1<i2<...<ixk). If this subsequence is empty, then w=0.
Unlike Duff, Malek is not a programmer. That's why he asked for your help. Please help him perform these queries.
Input
The first line of input contains two integers, n and q (1≤n≤2×105 and 1≤q≤4×104).
The second line of input contains n integers, a1,a2,...,an separated by spaces (0≤ai≤109 for each 1≤in).
The next q lines contain the queries. Each line starts with an integer t (1≤t≤2), type of the corresponding query. If t=1, then there are three more integers in that line, l,r and k. Otherwise there are two more integers, l and r. (1≤lrn and 0≤k≤109)
Output
Print the answer of each query of the second type in one line.
Examples
Input
5 5
1 2 3 4 2
2 1 5
1 2 2 8
2 1 5
1 1 3 10
2 2 2
Output
8
16
1
Note
In the first query, we want all Kheshtaks of sequence 1,2,3,4,2 which are: 0,1,2,3,4,5,6,7.
In the third query, we want all Khestaks of sequence 1,10,3,4,2 which are: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15.
In the fifth query, we want all Kheshtaks of sequence 0 which is 0.

输入样例 复制


输出样例 复制