CAPCITY - Capital City


There are N cities in Flatland connected with M unidirectional roads. The cities are numbered from 1 to N. The Flat Circle of Flatland (FCF) wants to set up a new capital city for his kingdom. For security reasons, the capital must be reachable from all other cities of Flatland. FCF needs the list of all candidate cities. You are the chief programmer at FACM (Flat Association for Computing Machinery) responsible for providing the list to FCF as soon as possible.

Input

The first line of the input file contains two integers: 1 ≤ N ≤ 100,000 and 1 ≤ M ≤ 200,000. Each of the following M lines contains two integers 1 ≤ A, B ≤ N denoting a road from A to B.

Output

The output file contains an integer denoting the number of candidate cities followed by the list of candidate cities in increasing order.

Example

Input:
4 4
1 2
3 2
4 3
2 1

Output:
2
1 2

hide comments
coolio_1: 2020-03-05 03:00:10

AC in 1 go. Took a lot of effort.

sangmai: 2020-02-21 10:50:36

I believe that there are duplicated edges in test case 20. AC after handling that case.

transonviet: 2020-01-21 08:54:47

Wonderful prob =))) ac in one go

swapscool: 2020-01-17 09:23:04

Weak test cases. Getting ac by just printing vertices (sorted order) present in the scc's whose size is greater than 1.

tanroop: 2019-10-24 20:16:08

Which one is 20th TC. Spojtoolkit is a bit confusing

scolar_fuad: 2019-09-24 08:11:41

Straight forward scc

scolar_fuad: 2019-09-24 07:13:34

what it would be if there exist more than one ssc in a graph

trishala_naman: 2019-07-03 18:59:31

Input-
3 5
3 1
2 1
1 3
1 2
3 2
Output-
3
1 2 3

vjvjain0: 2019-05-28 22:55:16

Used (Kosaraju + dfs) WA on 20
Used (Kosaraju + iteration to count outdegree) AC
Used (Kosaraju + dfs) AC

use this: if(vis[i]) return
instead of: if(!vis[i] && comp[i]!=comp[j])
to get AC using dfs

Last edit: 2019-05-28 22:57:30
nour_massri: 2019-05-15 22:40:04

Weak Test cases my code is giving WA for this test case but it gives AC when submitted !!
Input:
3 3
1 2
1 3
2 3
output:
1
3

Last edit: 2019-05-15 22:52:33

Added by:Narek Saribekyan
Date:2010-06-20
Time limit:1s-4s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS OBJC PERL6 SQLITE VB.NET
Resource:Armenian TST 2010, Round 2