A67279.导线

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

nn 条水平的导线和 mm 条垂直的导线,每条导线都有一种颜色。任意一条水平导线和一条垂直导线的交点初始是绝缘的。设第 ii 条水平导线的颜色为 aia_i ,第 jj 条垂直导线的颜色为 bjb_j ,它们的交点为 (i,j)(i, j)

你可以进行若干次焊接操作,每次操作选择两条导线(一条水平、一条垂直),并将它们的交点焊接,让这两个导线之间导电。焊接的顺序必须满足:若焊接的点序列为 (x1,y1),(x2,y2),,(xk,yk)(x_1, y_1), (x_2, y_2), \dots, (x_k, y_k) ,则

x1x2xky1y2yk.x_1 \leq x_2 \leq \cdots \leq x_k \quad \text{且} \quad y_1 \leq y_2 \leq \cdots \leq y_k.

最终,对于每种颜色 cc ,所有颜色为 cc 的导线之间必须到导电,

任务:

  1. 计算最小的焊接次数 kk

  2. kk 最小的情况下,求焊接方案的数量(模 998244353998244353 )。

注意\bf{注意}:每种颜色的导线至少有一条水平的和一条垂直的。

输入格式

输入的第一行包含两个正整数 nn, mm,意义见题目描述。

输入的第二行包含 nn 个正整数 a1a_1, a2a_2, \dots, ana_n,第 ii 个数表示第 ii 条水平导线的颜色。

输入的第三行包含 mm 个正整数 b1b_1, b2b_2, \dots, bmb_m,第 jj 个数表示第 jj 条垂直导线的颜色。

输出格式

输出两行

第一行输出一个整数 kk ,代表最小的焊接次数。

第二行输出一个整数 ,代表模 998244353998244353 后的方案数。

输入输出样例

  • 输入#1

    3 5
    2 2 1
    2 2 1 1 1
    

    输出#1

    6
    2
    

说明/提示

数据范围

  • 1n,m1061\le n,m \le 10^6
  • 1ai,bi1061 \le a_i ,b_i \le 10^6

样例一

首页