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 ProblemD
{

    static int mod = (int) (1e9+7);
    static InputReader in;
    static PrintWriter out;
    static boolean[] arr = new boolean[1000];
    
    static void solve( int[][] a){
        
        for(int i = 0; i < 6; i++){
            int x = a[0][i];
                    arr[x] = true;
            if(a.length == 1) continue;
            for(int j = 0; j < 6; j++){
                int y = x * 10 + a[1][j];
                    arr[y] = true;
                if(a.length == 2) continue;
                for(int k = 0; k < 6; k++){
                    int z = y * 10 + a[2][k];
                    arr[z] = true;
                }
            }
        }
        
    }
    
    public static void main(String[] args)
    {
        in = new InputReader(System.in);
        out = new PrintWriter(System.out);            
        
        int n = in.nextInt();
        int[][] a = new int[n][6];
        
        for(int i = 0; i < n; i++)
            a[i] = in.nextIntArray(6);
        
        solve(a);
        
        if(n > 1){
            for(int i = 0; i < 6; i++){
                a[0][i] = a[0][i] ^ a[1][i];
                a[1][i] = a[0][i] ^ a[1][i];
                a[0][i] = a[0][i] ^ a[1][i];
            }
        }

        solve(a);

        if(n == 3){
            for(int i = 0; i < 6; i++){
                a[2][i] = a[2][i] ^ a[1][i];
                a[1][i] = a[2][i] ^ a[1][i];
                a[2][i] = a[2][i] ^ a[1][i];
            }
        }
 
        solve(a);

        if(n == 3){
            for(int i = 0; i < 6; i++){
                a[2][i] = a[2][i] ^ a[0][i];
                a[0][i] = a[2][i] ^ a[0][i];
                a[2][i] = a[2][i] ^ a[0][i];
            }        
        }
 
        solve(a);
        
        if(n > 1){
            for(int i = 0; i < 6; i++){
                a[0][i] = a[0][i] ^ a[1][i];
                a[1][i] = a[0][i] ^ a[1][i];
                a[0][i] = a[0][i] ^ a[1][i];
            }
        }

        solve(a);
        if(n == 3){
            for(int i = 0; i < 6; i++){
                a[2][i] = a[2][i] ^ a[1][i];
                a[1][i] = a[2][i] ^ a[1][i];
                a[2][i] = a[2][i] ^ a[1][i];
            }
        }
        
        solve(a);
        
        int i = 1;
        for(; i < 1000; i++)
            if(!arr[i])
                break;

        out.println(i - 1);
        out.close();
    }

    static class Pair implements Comparable<Pair>
    {

        int x,y;
        int i;
        long c;

        Pair (int x, long c)
        {
                this.x = x;
                this.c = c;
        }

        Pair (int x,int y)
        {
                this.x = x;
                this.y = y;
        }

        Pair (int x,int y, int i)
        {
                this.x = x;
                this.y = y;
                this.i = i;
        }

        public int compareTo(Pair o)
        {
            return Long.compare(this.c,o.c);
                //return 0;
        }

        public boolean equals(Object o)
        {
            if (o instanceof Pair)
            {
                Pair p = (Pair)o;
                return p.x == x && p.y==y;
            }
            return false;
        }

        @Override
        public String toString()
        {
            return x + " "+ y + " "+c;
        }

        /*public int hashCode()
        {
            return new Long(x).hashCode() * 31 + new Long(y).hashCode();
        }*/

    } 

    static long gcd(long x,long y)
    {
        if(y==0)
                return x;
        else
                return gcd(y,x%y);
    }

    static int gcd(int x,int y)
    {
        if(y==0)
                return x;
        else 
                return gcd(y,x%y);
    }

    static long pow(long n,long p,long m)
    {
         long  result = 1;
          if(p==0){
            return 1;
          }
          
        while(p!=0)
        {
            if(p%2==1)
                result *= n;
            if(result >= m)
               result %= m;
            p >>=1;
            n*=n;
            if(n >= m)
                n%=m;
        }
        
        return result;
    }

    static long pow(long n,long p)
    {
        long  result = 1;
          if(p==0)
            return 1;

        while(p!=0)
        {
            if(p%2==1)
                result *= n;	    
            p >>=1;
            n*=n;	    
        }
        return result;
    }

    static void debug(Object... o)
    {
            System.out.println(Arrays.deepToString(o));
    }

    static class InputReader
    {

        private final InputStream stream;
        private final byte[] buf = new byte[8192];
        private int curChar, snumChars;
        private SpaceCharFilter filter;

        public InputReader(InputStream stream)
        {
                this.stream = stream;
        }

        public int snext()
        {
                if (snumChars == -1)
                        throw new InputMismatchException();
                if (curChar >= snumChars)
                {
                        curChar = 0;
                        try
                        {
                                snumChars = stream.read(buf);
                        } catch (IOException e)
                        {
                                throw new InputMismatchException();
                        }
                        if (snumChars <= 0)
                                return -1;
                }
                return buf[curChar++];
        }

        public int nextInt()
        {
                int c = snext();
                while (isSpaceChar(c))
                {
                        c = snext();
                }
                int sgn = 1;
                if (c == '-')
                {
                        sgn = -1;
                        c = snext();
                }
                int res = 0;
                do
                {
                        if (c < '0' || c > '9')
                                throw new InputMismatchException();
                        res *= 10;
                        res += c - '0';
                        c = snext();
                } while (!isSpaceChar(c));
                return res * sgn;
        }

        public long nextLong()
        {
                int c = snext();
                while (isSpaceChar(c))
                {
                        c = snext();
                }
                int sgn = 1;
                if (c == '-')
                {
                        sgn = -1;
                        c = snext();
                }
                long res = 0;
                do
                {
                        if (c < '0' || c > '9')
                                throw new InputMismatchException();
                        res *= 10;
                        res += c - '0';
                        c = snext();
                } while (!isSpaceChar(c));
                return res * sgn;
        }

        public int[] nextIntArray(int n)
        {
                int a[] = new int[n];
                for (int i = 0; i < n; i++)
                {
                        a[i] = nextInt();
                }
                return a;
        }

        public long[] nextLongArray(int n)
        {
                long a[] = new long[n];
                for (int i = 0; i < n; i++)
                {
                        a[i] = nextLong();
                }
                return a;
        }

        public String readString()
        {
                int c = snext();
                while (isSpaceChar(c))
                {
                        c = snext();
                }
                StringBuilder res = new StringBuilder();
                do
                {
                        res.appendCodePoint(c);
                        c = snext();
                } while (!isSpaceChar(c));
                return res.toString();
        }

        public String nextLine()
        {
                int c = snext();
                while (isSpaceChar(c))
                        c = snext();
                StringBuilder res = new StringBuilder();
                do
                {
                        res.appendCodePoint(c);
                        c = snext();
                } while (!isEndOfLine(c));
                return res.toString();
        }

        public boolean isSpaceChar(int c)
        {
                if (filter != null)
                        return filter.isSpaceChar(c);
                return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

        private boolean isEndOfLine(int c)
        {
                return c == '\n' || c == '\r' || c == -1;
        }

        public interface SpaceCharFilter
        {
                public boolean isSpaceChar(int ch);
        }

    }
}    
