#1230. 【例题3】最大半连通子图

【例题3】最大半连通子图

当前没有测试数据。

【例题3】最大半连通子图

题目描述

一个有向图G=(V,E)G=(V,E)称为半连通的,如果满足:u,vV\forall u,v\in V,满足uvu\to vvuv\to u,即对于图中任意两点uu,vv,存在一条uuvv的有向路径或者从vvuu的有向路径。

G=(V,E)G'=(V',E')满足VVV' \subseteq VEE'EE中所有跟VV'有关的边,则称GG'GG的一个导出子图。

GG'GG的导出子图,且GG'半连通,则称GG'GG的半连通子图。

GG'GG所有半连通子图中包含节点数最多的,则称GG'GG的最大半连通子图。

给定一个有向图GG,请求出GG的最大半连通子图拥有的节点数KK,以及不同的最大半连通子图的数目CC。由于CC可能比较大,仅要求输出CmodXC \bmod X

输入格式

第一行包含三个整数NNMMXX

NNMM分别表示图GG的点数与边数,XX的意义如上文所述。

接下来MM行,每行两个正整数aabb,表示一条有向边aba \to b。保证输入中同一个aba \to b不会出现两次。

输出格式

共两行,第一行包含一个整数KK

第二行包含整数,表示CmodXC \bmod X

数据范围与提示

对于100%100\%的数据,1N1051 \leq N \leq 10^51M1061 \leq M \leq 10^61X1081 \leq X \leq 10^8

样例

6 6 20070603
1 2
2 1
1 3
2 4
5 6
6 4
3
3