给出一个 0 ~ (2^m-1) 的排列,第 i 个数为 a_i。
求有多少个连续非空子序列满足,存在 i,j(1\le i,j\le 2^m,i≠j),使得交换 a_i,a_j 后(不能不交换),该子序列的异或和为 2^m-1。
第一行一个数 m。
第二行 2^m 个数,第 i 个数为 a_i。
输出为一个数,即满足条件的连续非空子序列的个数。
2 0 1 2 3
9
3 3 7 0 4 6 1 5 2
33
4 13 0 15 12 4 8 7 3 11 14 6 10 1 5 9 2
133
[1,1]: 交换 a_1,a_4,满足条件。
[2,2]: 交换 a_2,a_4,满足条件。
[3,3]: 交换 a_3,a_4,满足条件。
[4,4]: 交换 a_1,a_2,满足条件。
[1,2]: 交换 a_1,a_3,满足条件。
[2,3]: 交换 a_1,a_4,满足条件。
[3,4]: 交换 a_1,a_3,满足条件。
[1,3]: 交换 a_1,a_2,满足条件。
[2,4]: 交换 a_1,a_4,满足条件。
[1,4]: 交换无法改变区间异或和的值(即 0),不满足条件。
合法序列个数为 9。
对于 100\% 的数据,1\le m \le 20。