Description
给定长度为 n 的 排列 b 和 序列 c ,询问有多少个长度为 n 的序列 A ,满足以下两个条件:
-
0⩽Ai<260
-
Ai xor Abi⩽ci
答案对998244353 取模。
第一行一个正整数n,含义同题面描述。
第二行共n 个正整数,第i 个表示bi,b 是个排列。
第三行共n 个正整数,第i 个表示ci,含义同题面描述。
Output
一行一个整数,表示答案。
Samples
3
2 3 1
2 1 2
416046766
Limitation
对于10%的数据:n⩽5,ci<23
对于30%的数据:n⩽1000,ci<27
对于50%的数据:n⩽1000,ci<214
对于另20%的数据:总存在0⩽j⩽60,满足ci=(2j)−1
对于另10%的数据:满足n为偶数,当i为奇数时,bi=i+1;当i为偶数时,bi=i−1
对于100%的数据:$3 \leqslant n \leqslant 100000,0 \leqslant c_i<2^{60}$