#P6718. 权值

权值

Problem Description

给定数组 $b_{1...n}$ 和 $c_{1...n}$,求有几个整数数列 $a_{1...n}$,满足 $0\leq a_i<2^{60}$,且 $a_i~xor~a_{b_i}\leq c_i$

由于答案可能过大,你只需要输出答案对 $998244353$ 取模后的值。

Input

第一行一个正整数 $3\leq n\leq 10^5$

第二行 $n$ 个整数表示 $b_{1...n}$,满足 $1\leq b_i\leq n$,且 $b_i\neq i$

第三行 $n$ 个整数表示 $c_{1...n}$,满足 $0\leq c_i<2^{60}$

Output

输出答案

3 2 3 1 2 1 2
416046766