
#include <stdio.h>

#define MAX_VRHOVA 100

int main(void)
{
  int i,j;
  int broj_vrhova,broj_bridova;
  int vrh1,vrh2;
  int ima,valja,gotovo,nema_kamo;
  int macka,mis;
  int broj_pozicija;
  int graf[MAX_VRHOVA][MAX_VRHOVA];
  int pozicija[MAX_VRHOVA][MAX_VRHOVA];
  FILE *fp;

  fp = fopen("LOV.IN","rt");

  fscanf(fp,"%d %d\n",&broj_vrhova,&broj_bridova);

  for (i = 0;i < broj_vrhova;++i)
    for (j = 0;j < broj_vrhova;++j)
      graf[i][j] = 0;

  for (i = 0;i < broj_bridova;++i)
  {
    fscanf(fp,"%d %d\n",&vrh1,&vrh2);
    graf[vrh1 - 1][vrh2 - 1] = 1;
  }

  fclose(fp);

  for (i = 0;i < broj_vrhova;++i)
  {
    for (j = 0;j < broj_vrhova;++j)
      pozicija[i][j] = 0;
    pozicija[i][i] = 1;
  }

  macka = 0;
  mis = 0;
  gotovo = 0;

  do
  {
    do
    {
      if (++mis == broj_vrhova)
      {
        mis = 0;
        if (++macka == broj_vrhova)
        {
          gotovo = 1;
          break;
        }
      }

      if (!pozicija[macka][mis])
        break;
    } while (1);

    if (gotovo)
      break;

    valja = 1;
    nema_kamo = 1;
    for (i = 0;i < broj_vrhova;++i)
      if (graf[mis][i])
      {
        nema_kamo = 0;

        if (macka == i)
          continue;

        ima = 0;
        for (j = 0;j < broj_vrhova;++j)
          if (graf[macka][j] && pozicija[j][i])
          {
            ima = 1;
            break;
          }

        if (!ima)
        {
          valja = 0;
          break;
        }
      }

    if (nema_kamo)
      for (i = 0;i < broj_vrhova;++i)
        if (graf[macka][i] && pozicija[i][mis])
        {
          nema_kamo = 0;
          break;
        }

    if (!nema_kamo && valja)
    {
      pozicija[macka][mis] = 1;
      macka = 0;
      mis = 1;
    }
  } while (1);

  broj_pozicija = 0;
  for (i = 0;i < broj_vrhova;++i)
    for (j = 0;j < broj_vrhova;++j)
      if (pozicija[i][j])
        ++broj_pozicija;

  fp = fopen("LOV.OUT","wt");

  fprintf(fp,"%d\n",broj_pozicija);

  fclose(fp);

  return 0;
}
