#CF1879D. 异或函数之和

异或函数之和

异或函数之和

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定长度为 nn 的非负整数数组 aa。定义

f(l,r)=al⊕al+1⊕⋯⊕ar.f(l,r)=a_l\oplus a_{l+1}\oplus\cdots\oplus a_r.

求

∑l=1n∑r=lnf(l,r)(r−l+1)\sum_{l=1}^{n}\sum_{r=l}^{n}f(l,r)(r-l+1)

对 998244353998244353 取模后的值。

输入格式

第一行包含整数 nn(1≤n≤3×1051\le n\le3\times10^5)。第二行包含 nn 个整数 aia_i(0≤ai≤1090\le a_i\le10^9)。

输出格式

输出所求总和对 998244353998244353 取模后的值。

样例输入 1

3
1 3 2

样例输出 1

12

数据范围

子任务编号 分值 特殊限制
1 30 n≤100n\le100
2 所有 aia_i 相等
3 40 无特殊限制