2
2 6 8 1 3 1
2 1 3 8 6 7
 2
1 8 9 1 1 0
2 3 4 5 6 7
 2
0 2 9 8 1 7
6 7 4 3 2 5
 3
9 4 6 2 7 0
3 7 1 9 6 4
6 1 0 8 7 2
 3
2 7 4 0 7 1
5 5 4 9 1 4
2 1 7 5 1 7
 3
5 1 2 9 6 4
9 0 6 4 2 8
4 6 2 8 3 7
 3
1 1 1 0 2 3
4 5 6 7 8 9
0 0 0 0 0 0
 1
1 9 8 3 7 8
 3
2 6 3 7 1 0
9 1 2 4 7 6
1 4 8 7 6 2
 1
4 6 9 8 2 7
 2
1 7 6 9 2 5
1 6 7 0 9 2
 3
4 1 0 8 0 2
1 5 3 5 0 7
7 7 2 7 2 2
 1
7 6 5 8 9 0
 3
3 8 3 5 5 5
3 0 1 6 6 3
0 4 3 7 2 4
 1
8 1 9 2 9 7
 2
2 0 5 7 0 8
4 5 1 5 4 9
 3
1 1 1 1 1 1
0 2 3 4 5 6
7 8 9 2 3 4
 3
0 1 1 2 2 3
4 5 6 7 8 9
3 4 5 6 7 1
 1
0 8 7 1 3 2
 2
9 3 3 6 7 2
6 2 9 1 5 9
 1
8 2 7 4 1 0
 2
3 6 8 9 5 0
6 7 0 8 2 3
 1
0 1 2 3 4 5
 3
3 4 5 6 8 9
1 1 1 1 1 1
1 2 4 5 7 0
 2
2 3 5 1 9 6
1 6 8 7 3 9
 2
0 9 5 7 6 2
8 6 2 7 1 4
 2
4 3 8 6 0 1
4 7 1 8 9 0
 1
6 2 8 4 5 1
 1
4 0 9 6 3 1
 2
6 0 1 7 2 9
1 3 4 6 7 0
 3
5 0 7 6 2 1
2 7 4 6 1 9
0 2 6 1 7 5
 3
0 1 1 2 2 3
4 5 6 7 8 9
3 4 5 6 7 8
 3
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
 2
2 4 0 3 7 6
3 2 8 7 1 5
 1
7 3 6 9 8 1
 3
1 1 2 3 4 5
6 7 8 9 0 2
3 4 5 6 7 8
 3
9 4 3 0 2 6
7 0 5 3 3 9
1 0 7 4 6 7
 1
3 7 7 6 4 2
 3
2 5 7 4 2 7
1 5 5 9 0 3
8 2 0 1 5 1
 2
1 7 8 6 0 9
3 2 1 7 4 9
 2
0 8 6 2 1 3
5 2 7 1 0 9
 2
5 3 2 9 8 2
0 7 4 8 1 8
 3
3 8 5 1 5 5
1 5 7 2 6 9
4 3 4 8 8 9
 2
5 1 2 3 0 8
3 6 7 4 9 2
 2
0 1 2 3 4 5
6 7 8 9 1 2
 1
5 3 8 0 2 6
 1
0 7 6 3 2 4
 2
8 0 6 5 1 4
7 1 0 8 3 4
 2
7 8 6 1 4 5
8 6 4 3 2 5
 2
0 1 2 3 4 5
6 6 6 7 8 9
 3
9 3 1 8 4 6
6 9 1 2 0 7
8 9 1 5 0 3
 3
0 6 2 9 5 4
3 8 0 1 6 9
6 9 0 1 5 2
 3
0 1 2 2 4 5
6 7 8 9 0 1
3 3 4 5 6 7
 1
1 4 5 7 0 5
 2
8 6 4 1 2 0
7 8 5 3 2 1
 3
5 6 2 9 3 5
5 4 1 5 9 8
4 4 2 0 3 5
 1
9 8 1 6 5 7
 3
7 2 1 3 6 9
0 3 8 4 7 6
1 4 5 8 7 0
 3
9 4 3 3 9 3
1 0 3 4 5 3
2 9 6 2 4 1
 3
1 2 3 7 8 9
9 8 7 1 2 3
7 9 2 3 1 8
 3
8 1 8 2 7 1
9 1 9 9 4 7
0 0 9 0 4 0
 1
2 5 9 6 7 9
 3
4 6 0 3 9 2
8 6 9 0 7 2
6 9 3 2 5 7
 3
8 6 0 5 4 9
1 8 5 3 9 7
7 4 5 1 6 8
 1
8 6 0 9 4 2
 1
7 9 2 5 0 4
 1
6 0 7 5 4 8
 2
5 8 4 7 1 2
0 8 6 2 4 9
 1
5 2 2 5 6 7
 2
6 5 2 7 1 3
3 7 8 1 0 9
 1
8 3 5 4 2 9
 3
0 1 2 3 4 5
6 7 8 9 1 2
3 4 5 6 7 8
 2
6 6 4 7 9 0
2 1 2 8 6 4
 3
2 3 4 5 6 7
3 4 5 6 7 8
9 1 2 3 4 5
 2
0 1 2 3 4 5
4 5 6 7 8 9
 3
2 7 3 6 4 5
0 2 1 9 4 8
8 6 9 5 4 0
 2
0 1 2 3 4 5
6 7 8 9 6 6
 2
1 7 2 0 4 3
5 2 3 6 1 0
 1
6 2 8 5 1 3
 3
5 4 8 1 6 7
0 9 3 5 8 6
2 4 7 8 1 3
 1
6 3 1 9 4 9
 3
0 1 9 1 0 8
9 9 3 5 6 2
9 3 9 9 7 3
 3
8 1 6 8 6 8
7 0 2 5 8 4
5 2 0 3 1 9
 3
2 0 1 3 4 5
6 7 8 9 1 1
3 4 5 6 6 7
 3
4 4 5 0 6 6
7 1 6 9 5 4
5 0 4 0 3 9
 2
0 1 2 3 4 5
9 8 7 6 5 4
 2
0 2 9 1 8 5
0 7 4 3 2 5
 2
2 3 9 1 6 7
2 5 4 3 0 6
 2
5 7 4 2 1 9
2 2 7 1 1 8
 1
3 9 1 7 4 5
 3
7 7 2 5 3 2
3 0 0 6 4 4
1 2 1 1 9 1
 1
7 9 5 0 4 6
 3
7 1 3 0 2 4
2 4 3 0 9 5
1 9 8 0 6 5
 1
4 3 8 9 2 3

3
 9
 9
 4
 2
 10
 10
 1
 4
 0
 2
 5
 0
 8
 2
 2
 10
 19
 3
 3
 2
 0
 5
 19
 3
 2
 1
 2
 1
 4
 2
 9
 5
 8
 1
 10
 7
 0
 5
 4
 3
 5
 9
 9
 29
 0
 0
 1
 8
 9
 21
 6
 21
 1
 8
 6
 1
 21
 6
 3
 2
 0
 0
 1
 0
 0
 0
 2
 0
 3
 0
 98
 2
 9
 9
 10
 9
 7
 3
 21
 1
 3
 32
 19
 1
 9
 5
 7
 2
 1
 7
 0
 65
 0


import java.util.*;
 
import java.io.*;
public class Input {
	
	
	static int binary(int []ar,int start,int end,int value){
		int i=start;
		int j=end;
		while(i<j){
			int mid=(i+j)/2;
			if(ar[mid]==value)
				return mid;
			else if(ar[mid]>value)
				j=mid;
			else
				i=mid+1;
		}
		if(j==end&&ar[j]<value)
			return j+1;
		else
			return j;
	}
	
 
	static int binary1(int []ar,int start,int end,int value){
		int i=start;
		int j=end;
		while(i<j){
			int mid=(i+j)/2;
			if(ar[mid]==value)
				return mid;
			else if(ar[mid]>value)
				j=mid;
			else
				i=mid+1;
		}
		if(j==end&&ar[j]<value)
			return j;
		else
			return j-1;
	}
	
	    public static void main(String []args) throws IOException{
 Scanner s=new Scanner(System.in);
  
 int n=s.nextInt();
 int ar[][]=new int[n][6];
            
 boolean status[]=new boolean[1000];
 if(n==1){
	 for(int i=0;i<6;i++)
		 status[ar[0][i]]=true;
	 int i;
	 for( i=1;;){
		 if(status[i]==true)
			 i++;
		 else
			 break;
	 }
	 System.out.println(i-1);
 }
 else if(n==2){

	 for(int i=0;i<6;i++)
		 status[ar[0][i]]=true;

	 for(int i=0;i<6;i++)
		 status[ar[1][i]]=true;
	 
	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[0][i]*10+ar[1][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[1][i]*10+ar[0][j]]=true;
		 }
	 }
	 
	 int i;
	 for( i=1;;){
		 if(status[i]==true)
			 i++;
		 else
			 break;
	 }
	 System.out.println(i-1);
 }
 else {

	 for(int i=0;i<6;i++)
		 status[ar[0][i]]=true;

	 for(int i=0;i<6;i++)
		 status[ar[1][i]]=true;

	 for(int i=0;i<6;i++)
		 status[ar[2][i]]=true;

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[0][i]*10+ar[1][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[1][i]*10+ar[0][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[0][i]*10+ar[2][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[2][i]*10+ar[0][j]]=true;
		 }
	 }


	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[1][i]*10+ar[2][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
			 status[ar[2][i]*10+ar[1][j]]=true;
		 }
	 }


	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
            for(int k=0;k<6;k++)
			 status[ar[0][i]*100+ar[1][j]*10+ar[2][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
            for(int k=0;k<6;k++)
			 status[ar[0][i]*100+ar[2][j]*10+ar[1][j]]=true;
		 }
	 }


	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
            for(int k=0;k<6;k++)
			 status[ar[2][i]*100+ar[1][j]*10+ar[0][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
            for(int k=0;k<6;k++)
			 status[ar[2][i]*100+ar[0][j]*10+ar[1][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
            for(int k=0;k<6;k++)
			 status[ar[1][i]*100+ar[2][j]*10+ar[0][j]]=true;
		 }
	 }

	 for(int i=0;i<6;i++){
		 for(int j=0;j<6;j++){
            for(int k=0;k<6;k++)
			 status[ar[1][i]*100+ar[0][j]*10+ar[2][j]]=true;
		 }
	 }	 
	 int i;
	 for( i=1;;){
		 if(status[i]==true)
			 i++;
		 else
			 break;
	 }
	 System.out.println(i-1);
 }
 
 
 
 
 
 
	    }
	    
	    static class Reader
	    {
	        final private int BUFFER_SIZE = 1 << 16;
	        private DataInputStream din;
	        private byte[] buffer;
	        private int bufferPointer, bytesRead;
	 
	        public Reader()
	        {
	            din = new DataInputStream(System.in);
	            buffer = new byte[BUFFER_SIZE];
	            bufferPointer = bytesRead = 0;
	        }
	 
	        public Reader(String file_name) throws IOException
	        {
	            din = new DataInputStream(new FileInputStream(file_name));
	            buffer = new byte[BUFFER_SIZE];
	            bufferPointer = bytesRead = 0;
	        }
	 
	        public String readLine() throws IOException
	        {
	            byte[] buf = new byte[64]; // line length
	            int cnt = 0, c;
	            while ((c = read()) != -1)
	            {
	                if (c == '\n')
	                    break;
	                buf[cnt++] = (byte) c;
	            }
	            return new String(buf, 0, cnt);
	        }
	 
	        public int nextInt() throws IOException
	        {
	            int ret = 0;
	            byte c = read();
	            while (c <= ' ')
	                c = read();
	            boolean neg = (c == '-');
	            if (neg)
	                c = read();
	            do
	            {
	                ret = ret * 10 + c - '0';
	            }  while ((c = read()) >= '0' && c <= '9');
	 
	            if (neg)
	                return -ret;
	            return ret;
	        }
	 
	        public long nextLong() throws IOException
	        {
	            long ret = 0;
	            byte c = read();
	            while (c <= ' ')
	                c = read();
	            boolean neg = (c == '-');
	            if (neg)
	                c = read();
	            do {
	                ret = ret * 10 + c - '0';
	            }
	            while ((c = read()) >= '0' && c <= '9');
	            if (neg)
	                return -ret;
	            return ret;
	        }
	 
	        public double nextDouble() throws IOException
	        {
	            double ret = 0, div = 1;
	            byte c = read();
	            while (c <= ' ')
	                c = read();
	            boolean neg = (c == '-');
	            if (neg)
	                c = read();
	 
	            do {
	                ret = ret * 10 + c - '0';
	            }
	            while ((c = read()) >= '0' && c <= '9');
	 
	            if (c == '.')
	            {
	                while ((c = read()) >= '0' && c <= '9')
	                {
	                    ret += (c - '0') / (div *= 10);
	                }
	            }
	 
	            if (neg)
	                return -ret;
	            return ret;
	        }
	 
	        private void fillBuffer() throws IOException
	        {
	            bytesRead = din.read(buffer, bufferPointer = 0, BUFFER_SIZE);
	            if (bytesRead == -1)
	                buffer[0] = -1;
	        }
	 
	        private byte read() throws IOException
	        {
	            if (bufferPointer == bytesRead)
	                fillBuffer();
	            return buffer[bufferPointer++];
	        }
	 
	        public void close() throws IOException
	        {
	            if (din == null)
	                return;
	            din.close();
	        }
	    }
	 
}     