P1021

[POI2006]Pro-Professor Szu

[POI2006]Pro-Professor Szu

Byteotian 大学由一幢主建筑和 nn 幢别墅组成,建筑之间有许多单向道路。任意两幢建筑之间可能存在多条单向道路,也可能存在从一幢建筑出发并回到自身的道路。对于任意两幢建筑 AA 和 BB,要么可以从 AA 到达 BB,要么可以从 BB 到达 AA。

Byteotian 大学打算聘请著名的 Szu 教授。作为一名杰出的教授,他的行为十分特别:他希望每天沿一条不同的路径前往大学主建筑。在一条路径中,同一条道路可以经过多次,同一幢建筑也可以经过多次。两条路径的道路序列不同时,即视为不同的路径;即使两条道路连接的起点和终点相同,它们仍被视为不同的道路。

请根据大学中所有道路的分布,找出能够以最多种不同路径到达主建筑的别墅,使 Szu 教授可以尽可能长久地在大学工作。如果有多幢别墅满足条件,请将它们全部找出。

如果从某幢别墅出发,通向主建筑的不同路径数超过 3650036500,则认为 Szu 教授可以永远在这里工作。所有路径数超过 3650036500 的别墅均视为等价。

输入格式

第一行包含两个整数 nn 和 mm,分别表示别墅数量和单向道路数量。别墅编号为 11 到 nn,大学主建筑的编号为 n+1n+1。

接下来 mm 行,每行包含两个整数 aia_i 和 bib_i,表示一条从建筑 aia_i 指向建筑 bib_i 的单向道路。

输入中可能存在自环和重边。

输出格式

第一行输出最多的路径数。如果该路径数超过 3650036500,则输出 zawsze。

第二行输出一个整数,表示满足条件的别墅数量。

第三行按照编号从小到大的顺序输出这些别墅的编号,编号之间以一个空格分隔。

样例输入

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

样例输出

4
1
1

数据范围

  • 1≤n,m≤1061\le n,m\le 10^6;
  • 1≤ai,bi≤n+11\le a_i,b_i\le n+1,1≤i≤m1\le i\le m;
  • 图中可能存在自环和重边;
  • 所有路径数严格超过 3650036500 的别墅均视为等价。

来源与许可

本题为 POI 2006 试题「Pro-Professor Szu」,题面与测试数据整理自 BZOJ。

样例 1

输入

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

输出

4
1
1