import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;


public class solution5 {
	static int best;
	static int cases;
	static int[][] nodes;
	public static void main (String args[])throws Exception{
		BufferedReader r = new BufferedReader(new FileReader("Data5.txt"));
		PrintWriter u  = new PrintWriter(new FileWriter("Out5.txt"));
		for (int p = 0; p < 5; p++){
			cases = Integer.parseInt(r.readLine());
			if (cases ==1){
				r.readLine ();
				u.println(1);
			}else{
				nodes = new int[cases][2];
				best = cases;
				for(int i = 0 ; i < cases; i++){
					Scanner s = new Scanner(r.readLine());
					nodes [i][0] = s.nextInt() ;
				
					nodes[i][1] = s.nextInt() ;
				
				}
				recurse(1, 1);
				u.println(best);
			}
		}
		u.close();
	}
	public static void recurse(int currentNodes, int ct){
		for (int i = 0; i < cases; i++){
			if (nodes [i][0]== currentNodes){
				if (nodes [i][1]==1){
					best = ct;
					break;
				}
			//	ct++;
				recurse (nodes[i][1], ct+1);
			}
		}
	}
}

