给定两个包含 $n$ 个整数的数组 $a$ 和 $b$。你的任务是计算一个非常简单的和:
$$\sum_{1 \le x \le n} \sum_{1 \le y \le n} \sum_{1 \le z \le n} \sum_{1 \le w \le n} (a_x + a_y + a_z + a_w)^{(b_x \oplus b_y \oplus b_z \oplus b_w)} \pmod{998244353}$$
输入格式
第一行包含一个整数 $n$ —— 数组 $a$ 和 $b$ 中元素的个数。 第二行包含 $n$ 个空格分隔的整数 $a_i$ —— 数组 $a$ 的元素。 第三行包含 $n$ 个空格分隔的整数 $b_i$ —— 数组 $b$ 的元素。
$1 \le n \le 10^5$ $1 \le a_i, b_i \le 500$
输出格式
输出一个整数 —— 该简单和的值。
样例
样例输入 1
1 1 1
样例输出 1
1
样例输入 2
5 227 67 445 67 213 297 171 324 493 354
样例输出 2
42