import java.io.*;
import java.util.Scanner;

/**
 * Dueling Philosophers - ACM ICPC SER 2012 (10.nov.12)
 *
 * @author john brodie
 * 
 */
class DuelingPhilosophers_jbrodie {

   private static boolean [] [] graph;
   private static int [] outDegree;
   private static int size;

   private static void newGraph(int n) {
      size = n;
      graph = new boolean[size][size];
      outDegree = new int[size];
      for(int i = 0; i < size; ++i) {
         outDegree[i] = 0;
         for(int j = 0; j < size; ++j) {
            graph[i][j] = false;
         }
      }
   }

   private static void printDegree() {
      System.err.format("outDegree:");
      for( int x : outDegree ) System.err.format(" %d",x);
      System.err.format("%n");
   }

   private static boolean allAssigned() {
      for( int x : outDegree ) if( x != -1 ) return false;
      return true;
   }

   private static boolean foundMulti;

   private static int findNext() {
      int count = 0;
      int result = -1;
      for( int i = 0; i < size; ++i ) {
         if( outDegree[i] == 0 ) {
            result = i;
            foundMulti = foundMulti || (count > 0);
            ++count;
         }
      }
      return result;
   }

   private static void assign( int u ) {
      for(int d = 0; d < size; ++d) if(graph[d][u]) --outDegree[d];
      outDegree[u] = -1;
   }

   private static int solve() {
      foundMulti = false;
      while( ! allAssigned() ) {
         //printDegree();
         int x = findNext();
         if( x == -1 ) return 0;
         assign(x);
      }
      return foundMulti ? 2 : 1;
   }

   public static void main( String[] args ) throws IOException {

      Scanner in =
         new Scanner(new BufferedReader(new InputStreamReader(System.in)));

      for(;;) {

         int n = in.nextInt();
         int m = in.nextInt();
         if( (n==0) && (m==0) ) break;

         newGraph(n);

         for(int i = 0; i < m; ++i) {
            int d = in.nextInt()-1;
            int u = in.nextInt()-1;
            graph[d][u] = true;
            ++outDegree[d];
         }

         System.out.format("%d%n", solve() );
      }
   }
}