bzoj#P4304. 道路改建

道路改建

题目描述

人称不死将军的林登·万,与他的兄弟林登·图两人的足迹踏遍了地球的每一寸土地。他们曾将战火燃遍了世界。即使是 lifei888 这样的强悍人物也从来没有将他彻底击败。

这一次,林登·万在 nn 个城市做好了暴动的策划。然而,在起事的前一天,将军得知计划已经泄漏,决定更改计划,集中力量掌握一部分城市。

具体来说,有 mm 条单向边连接着这 nn 座城市。对于两座城市 A,BA,B,如果它们能够通过单向边直接或间接的互相到达,那么就林登·万可以同时控制 A,BA,B 两座城市而不至于分散力量,反之则会被 lifei888 各个击破。

为了扩大成果,将军还组织了人手改建道路。这些人可以在起事前将其中一条有向边改变成双向边(注意只能改建其中一条单向边,另外 m1m-1 条单向边保持不变)。

现在,将军想要知道他通过改建其中一条单向边最多能控制几座城市,以及被改建的这一条单向边有多少种选择方案。

输入格式

第一行两个整数 n,mn,m

接下来 mm 行每行两个整数 u,vu,v 代表一条 uvu\to v 的边。

保证无重边。

输出格式

输出共三行。

第一行一个正整数,将军最多能控制的城市数量。

第二行一个正整数 kk,表示有 kk 种改建方案使得将军能控制最多的城市。

第三行 kk 个按递增顺序给出的正整数 a1ka_{1\cdots k},表示改建输入中的第 aia_i 条有向边能使将军能控制最多的城市。

5 4
1 2
2 3
1 3
4 1
3
1
3

数据规模与约定

对于 100%100\% 的数据,1n2×1031\leq n\leq 2\times 10^30mn20\leq m\leq n^2