#P1420. 航班(flight)

航班(flight)

【Description】

B国有N座城市,其中1号是这座国家的首都。

N座城市之间有M趟双向航班。i号点的转机次数定义为:从1号点到i,最少需要转机几次。如果1根本无法到达i,那么i点的转机次数是无穷大。

由于天气原因,有些航班会被取消。 一趟航班的取消是可容忍的,仅当这趟航班取消之后,2..N每个点的转机次数不变或者只增加了1。

现在kAc想知道,哪些航班的取消是可容忍的? 如果这样的航班不存在,输出一行“hehe”(不含引号)

【Input】

第一行两个正整数N, M

接下来M行每行两个正整数a, b。表示当前这趟航班的两端是a,b两座城市,保证a不等于b,且同一对a, b只会出现一次。

【Output】

若干整数,从小到大排序,表示所有的可容忍取消的航班序号。

【Sample Input】

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

【Sample Output】

2
3
4
5
6

【Hint】

如果1、2两座城市间的航班被取消,2号城市到首都原本需要0次转机(有直达飞机),现在需要先到5,再到3,再到1,转机2次。这是不可忍受的。

对于40%:N, M<=500

对于70%:N<=500 M <= 50000

对于100%:N, M<=200000

保证初始给定图中所有点的转机次数不是无穷大。