/*
* Za uneti orijentisani graf, proveriti da li je aciklican.
* Ako jeste, izvrsiti topolosko sortiranje.
* Ako nije, stampati vezu koja je napravila ciklus.
*/

#include <stdio.h>
#include <stdlib.h>

#define POVEZANO 1
#define NEPOVEZANO 0
#define NEDEFINISANO -1

int time=0;

void dfsVisit() 
{
	// TODO
}

main() 
{
	int **graf, *d, *f, *topsort;
	int n, l;
	int u, v;
	int i, j;
	int br;
	
	scanf("%d%d", &n, &l);
	
	graf = (int **)malloc(n*sizeof(int *));
	for (i=0; i<n; i++)
	{
		graf[i] = (int *)malloc(n*sizeof(int));
	}
	
	d = (int *)malloc(n*sizeof(int));
	f = (int *)malloc(n*sizeof(int));
	topsort = (int *)malloc(n*sizeof(int));
	
	for (i=0; i<n; i++)
	{
		for (j=0; j<n; j++) 
		{
			graf[i][j] = NEPOVEZANO;
		}
	}
	
	for (i=0; i<l; i++) {
		scanf("%d%d", &u, &v);
		graf[u][v] = POVEZANO;
		// Za neorijentisan graf
		// graf[v][u] = POVEZANO;
	}
	
	for (i=0; i<n; i++) {
		d[i] = NEDEFINISANO;
		f[i] = NEDEFINISANO;
	}
	
	// TODO
}








