Byteotian 大学位于 Byteion 市。除了主楼外,大学还拥有 $n$ 座供教职工居住的小屋。这些小屋之间由单向小巷连接,任意两座小屋之间可能存在多条小巷(小巷也可能形成连接建筑自身的回环)。此外,还有连接小屋与主楼的小巷。Byteion 的设计使得没有任何两条小巷在小屋或主楼之外的地点相交(小巷上可能有桥梁或隧道)。此外,每一条小巷的起点和终点都是小屋或主楼。已知至少有一座小屋与主楼之间存在路径。
很久以前,Byteotian 大学想要聘请一位著名的计算机科学权威——Szu 教授。像大多数杰出的科学家一样,Szu 教授有一个怪癖:他希望每天都通过不同的路线前往大学(路线是指一系列小巷,其中每一条小巷的起点都是上一条小巷的终点;主楼和每座小屋都可以被多次访问)。如果两条路线中至少有一条小巷不同,教授就认为它们是不同的(顺序很重要;连接同一两座小屋的两条不同小巷被视为不同的)。
请根据连接图,帮助大学找到从小屋到主楼拥有最多不同路线数量的小屋(住在这样的小屋里,Szu 教授在大学工作的时间最长)。如果存在多座这样的小屋,请找出所有这些小屋。如果某座小屋到主楼之间可能的路线数量超过 $36,500$ 条,我们假设 Szu 教授可以在这座小屋里永远住下去(因为他肯定无法活到无限长,而 $100$ 年似乎是一个安全的估计)。
任务
编写一个程序,完成以下工作:
- 从标准输入读取 Byteion 小屋之间的连接图,
- 确定 Szu 教授可以居住最长时间的小屋以及最长的居住时间,
- 将结果写入标准输出。
输入格式
标准输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 1\,000\,000$),用空格分隔,分别表示 Byteion 中小屋的数量和小巷的数量(小屋编号从 $1$ 到 $n$,大学主楼编号为 $n+1$)。接下来的 $m$ 行(第 $2$ 行到第 $m+1$ 行)每行包含一对整数 $a_i, b_i$ ($1 \le a_i, b_i \le n+1$,对于 $1 \le i \le m$),用空格分隔,分别表示第 $i$ 条小巷的起点小屋编号和终点小屋编号。
输出格式
标准输出的第一行应包含 Szu 教授在 Byteion 可以停留的最长天数,如果该天数超过 $36,500$ 天,则输出单词 zawsze(波兰语中意为“总是”)。标准输出的第二行应包含教授可以停留上述最长时间的小屋数量。标准输出的第三行应按升序输出所有这些小屋的编号,并用空格分隔。所有教授可以永远停留的小屋都被视为相等。
样例
输入 1
3 5 1 2 1 3 2 3 3 4 3 4
输出 1
4 1 1
输入 2
3 5 1 2 2 3 3 1 3 4 3 4
输出 2
zawsze 3 1 2 3