import java.io.*;

public class Five
{

	public static int[][] e;
	public static int nv;
	public static int ne;

	public static void main(String args[]) throws Throwable
	{
		BufferedReader br = new BufferedReader(new FileReader("DATA5.txt"));
		PrintWriter pw = new PrintWriter(new FileWriter("OUT5.txt"));

Josh:for(int asdf = 0; asdf < 5; asdf++)
{
		nv = 0;

		ne = Integer.parseInt(br.readLine());

		e = new int[ne][2];

		for(int i = 0; i < ne; i++)
		{
			String[] tmp = br.readLine().split(" ");

			e[i][0] = Integer.parseInt(tmp[0]);
			e[i][1] = Integer.parseInt(tmp[1]);

		//System.out.println(e[i][0] + " " + e[i][1]);

			nv = Math.max(nv,Math.max(e[i][0],e[i][1]));

		}

		nv--;

		int[] col = new int[nv];

		for(int i = 1; i <= 4; i++)
		if (pos(nv,i,""))
		{
			pw.println(i);
			//pw.close();
			continue Josh;
		}

		pw.println(0);
		//pw.close();
		continue;
}

pw.close();
System.exit(0);
	}


	public static boolean pos(int n, int col, String prev)
	{
		for(int i = 0; i < col; i++)
		{
			if(n==0)
			{
				if(att(""+prev + i)) return true;
			}
			else if( pos(n-1,col,""+prev + i)) return true;
		}
		return false;
	}

	public static boolean att(String s)
	{
		for(int i = 0; i < ne; i++)
		{
			if(s.charAt(e[i][0]-1) == s.charAt(e[i][1]-1) && e[i][0] != e[i][1])
			{
				//System.out.println((e[i][0]-1) + " " + (e[i][1]-1) + " " + s);
				return false;
			}
		}
		//System.out.println("ASDF");
		return true;
	}
}

