题目描述
给定 N 个顶点的三个简单无向图 X、Y、Z,它们分别有 M1、M2、M3 条边。将顶点分别记为 x1,x2,…,xN,y1,y2,…,yN,z1,z2,…,zN。X、Y、Z 的边分别为 (xai,xbi),(yci,ydi),(zei,zfi)。
以 X、Y、Z 为基础,构造一个有 N3 个顶点的无向图 W。从 X、Y、Z 各选一个顶点的方法有 N3 种,每种方法对应 W 的一个顶点。选择 xi,yj,zk 对应的顶点记为 (xi,yj,zk)。
W 的边按如下方式添加:
- 对于 X 的每条边 (xu,xv),以及所有 w,l,在 (xu,yw,zl) 与 (xv,yw,zl) 之间连边。
- 对于 Y 的每条边 (yu,yv),以及所有 w,l,在 (xw,yu,zl) 与 (xw,yv,zl) 之间连边。
- 对于 Z 的每条边 (zu,zv),以及所有 w,l,在 (xw,yl,zu) 与 (xw,yl,zv) 之间连边。
W 中顶点 (xi,yj,zk) 的权值为 $1,000,000,000,000,000,000^{(i + j + k)} = 10^{18(i + j + k)}$。请你求出 W 的所有独立集(即任意两点之间没有边相连的集合)中,顶点权值和的最大值,并输出其对 998244353 取模的结果。
输入格式
输入按以下格式从标准输入读入。
N M1 a1 b1 a2 b2 ⋯ aM1 bM1 M2 c1 d1 c2 d2 ⋯ cM2 dM2 M3 e1 f1 e2 f2 ⋯ eM3 fM3
输出格式
输出最大权值和对 998244353 取模的结果。
样例 1
输入
2
1
1 2
1
1 2
1
1 2
输出
46494701
样例 2
输入
3
3
1 3
1 2
3 2
2
2 1
2 3
1
2 1
输出
883188316
样例 3
输入
100000
1
1 2
1
99999 100000
1
1 100000
输出
318525248
说明/提示
限制条件
- 2≤N≤100,000
- 1≤M1,M2,M3≤100,000
- 1≤ai,bi,ci,di,ei,fi≤N
- X、Y、Z 均为简单图,即不存在自环或重边
样例解释 1
选择 (x2,y1,z1)、(x1,y2,z1)、(x1,y1,z2)、(x2,y2,z2) 时最优。答案为 3×1072+10108,对 998244353 取模结果为 46494701。
由 ChatGPT 4.1 翻译