编程题
### 问题描述
某盒巧克力有 $n$ 个,每个巧克力都有一个味道 $a_i$,康康和辉神的舌头上都还没有残留任何味道(用 $0$ 表示),当他们吃下一块巧克力的时候,舌头上的味道 $b$ 便会异或上这个巧克力的美味值 $a_i$。
康康和辉神会各自从盒子中拿一些巧克力吃下去,即各自选择一个集合并吃掉集合中的巧克力;两个人不能吃同一块巧克力,即集合不能相交。可以有一个人选择不吃巧克力,但不能两个人都不吃。康康和辉神不需要把盒子里的巧克力都吃完,有剩余也是可以的。
最后如果二人舌头上残留着相同的味道,则称两人是心情契合的。
问有多少种方案使得两人是心情契合的,两种方案不同当且仅当康康或辉神选择吃下的巧克力集合不一样。只需要输出方案数对 $998244353$ 取模的结果。
### 输入格式
第一行一个正整数 $n$,表示巧克力的个数。
第二行 $n$ 个整数 $a_i$,表示每个巧克力的美味值。
### 输出格式
输出一行一个整数,表示能使得他们心情契合的吃巧克力的方案数对 $998244353$ 取模的结果。
### 样例输入
```
3
1 2 3
```
### 样例输出
```
8
```
### 评测数据规模
$1 \leq n \leq 10^5$,$0 \leq a_i \leq 10^5$。