var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var Arr=(input.trim()).split("\n");
var m=Arr.shift()-0;
var n=Arr.shift()-0;
var M=[];
var check=[];
for(var i=0;i<m;i++)M[i]=[];
for(var i=0;i<m;i++)check[i]=false;
var obj={};
for(var i=0;i<n;i++){
   var str=Arr.shift();
   obj[str]=true;
   var v=str.split(" ").map(Number);
   M[v[0]-1].push(v[1]-1);
}
var L=[];
for(var i=0;i<m;i++){
   visit(i);
}
function visit(x){
   if(check[x]==true)return;
   else check[x]=true;
   M[x].forEach(function(v){
      visit(v);
   });
   L.push(x);
}
L.reverse();
L=L.map(function(v){return v+1;});
var flag=true;
for(var i=0;i<L.length-1;i++){
   if(obj.hasOwnProperty(L[i]+" "+L[i+1])==false){flag=false;break;}
}
L.forEach(function(v){
   console.log(v);
});
console.log(flag?"0":"1");