

function Main(input) {
  input = input.split("\n");
  var N = parseInt(input[0].split(" ")[0]);
  var M = parseInt(input[0].split(" ")[1]);
  var list = new Array(N+1);
  var s = new Set();
  var t = new Set();
  for(var i=0;i<M;i++){
    var stmp = parseInt(input[i+1].split(" ")[0]);
    var ttmp = parseInt(input[i+1].split(" ")[1]);
    if(list[stmp]==undefined){
      list[stmp]=[];
    }
    list[stmp].push(ttmp);
    s.add(stmp);
    t.add(ttmp);
  }
  var tarray=[...t];
  for(var i=0;i<tarray.length;i++){
    s.delete(tarray[i]);
  }
  var sarray=[...s];
  var ans=0;
  for(var i=0;i<sarray.length;i++){
    if(list[sarray[i]]!=undefined){
      for(var j=0;j<list[sarray[i]].length;j++){
        count(list[sarray[i]][j]);
      }
    }
  }
  function count(a){
    if(list[a]!=undefined){
      for(var i=0;i<list[a].length;i++){
        count(list[a][i]);


      }
    }
  }

  console.log('%s', ans);
  return ans;
}
// "実行する"ボタンを押した時に実行される関数 (デバッグ用)
function debug(n){
  var input = document.getElementById("input"+n).value;
  var ans=Main(input);
  var result="WA";
  if(ans==document.getElementById("output"+n).value.split("\n")[0]){
    result="AC";
  }
  document.getElementById("result"+n).innerHTML=result;
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));