A67279.导线
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
有 n 条水平的导线和 m 条垂直的导线,每条导线都有一种颜色。任意一条水平导线和一条垂直导线的交点初始是绝缘的。设第 i 条水平导线的颜色为 ai ,第 j 条垂直导线的颜色为 bj ,它们的交点为 (i,j) 。
你可以进行若干次焊接操作,每次操作选择两条导线(一条水平、一条垂直),并将它们的交点焊接,让这两个导线之间导电。焊接的顺序必须满足:若焊接的点序列为 (x1,y1),(x2,y2),…,(xk,yk) ,则
x1≤x2≤⋯≤xk且y1≤y2≤⋯≤yk.
最终,对于每种颜色 c ,所有颜色为 c 的导线之间必须到导电,
任务:
-
计算最小的焊接次数 k 。
-
在 k 最小的情况下,求焊接方案的数量(模 998244353 )。
注意:每种颜色的导线至少有一条水平的和一条垂直的。
输入格式
输入的第一行包含两个正整数 n, m,意义见题目描述。
输入的第二行包含 n 个正整数 a1, a2, …, an,第 i 个数表示第 i 条水平导线的颜色。
输入的第三行包含 m 个正整数 b1, b2, …, bm,第 j 个数表示第 j 条垂直导线的颜色。
输出格式
输出两行
第一行输出一个整数 k ,代表最小的焊接次数。
第二行输出一个整数 ,代表模 998244353 后的方案数。
输入输出样例
输入#1
3 5 2 2 1 2 2 1 1 1
输出#1
6 2
说明/提示
数据范围
- 1≤n,m≤106
- 1≤ai,bi≤106
样例一