对于两个排列 p,q,称 01 串 s 是消愁的当且仅当存在存在一个 2×n 的矩阵 a 满足:
- 1 到 2n 中的每个元素都在矩阵中出现。
- a1,i<a1,j 当且仅当 pi<pj
- a2,i<a2,j 当且仅当 qi<qj
- a1,i<a2,i 当且仅当 si=0
定义 f(p,q) 为有多少 01 串对于这两个排列是消愁的。
现在给定排列 q 的一部分和排列 p,求对于所有把 q 补全的方案,f(p,q) 之和。
输入格式
第一行一个整数 n 表示排列长度。
第二行 n 个整数表示排列 p。
第三行 n 个整数表示排列 q 的一部分,如果 qi=0 表示这一位不确定。
输出格式
输出 f(p,q) 的和对 998244353 取模后的结果。
样例一
input
2 1 2 2 1
output
3
explanation
00
对应
1 2 4 3
11
对应
3 4 2 1
01
对应
1 4 3 2
样例二
input
4 4 3 2 1 4 3 2 1
output
16
样例三
input
5 1 2 3 4 5 0 0 0 0 0
output
1546
样例四
input
6 1 6 2 5 3 4 0 1 0 2 0 3
output
52
数据范围与提示
对于 100% 的数据,1≤n≤100,1≤pi≤n,0≤qi≤n,对于 i≠j,pi≠pj,且若 qiqj≠0,qi≠qj。
测试点编号 | n≤ | 特殊性质 |
---|---|---|
1∼4 | 5 | 无 |
5∼9 | 100 | qi≠0 |
10∼14 | 100 | qi=0 |
15∼20 | 100 | 无 |
时间限制:2s
空间限制:512MB