编程题
### 问题描述
麻衣有一个神奇的糖果盒,盒子里有 $N$ 种口味的糖果,每种口味只有一颗。她发现了一个有趣的规则:每次她都可以从盒子里挑选两颗口味各异的糖果,然后用神奇的魔法棒触碰它们,这两颗糖果就会立即融为一颗新的糖果,并且新糖果的口味值等于原来两颗的口味值的异或结果。然后,原来的两颗糖果就会消失。
麻衣本着追求糖果口味的多样性和丰富性的原则,她想通过这种魔法变化,让所有糖果的口味值乘积尽可能的大。因为这个数可能会非常大,所以你只需输出它对 $998244353$ 取模后的结果。
### 输入格式
第一行输入一个整数 $N$ —— 糖果的种类数。
第二行输入 $N$ 个空格分隔的整数 $A_1, A_2, …, A_N$ —— 表示每种糖果的口味值。
数据范围保证:$2 ≤ N ≤ 10^5$,$1 ≤ A_i ≤ 10^9$。
### 输出格式
输出一行表示经过麻衣的魔法变换后,所有糖果口味值乘积的最大值对 $998244353$ 取模后的结果。
### 样例输入
```text
4
1 2 1 2
```
### 样例输出
```text
9
```