import static java.lang.Integer.parseInt;
import static java.lang.Long.parseLong;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.StringTokenizer;
import java.math.BigInteger;
import java.util.*;

public class Test
{

	static long coder(int a[],int st,int end)
	{
		int c=0;
		for(int i=st;i<=end;i++)
			c|=a[i];
		
		return c;
	}

	public static void main (String[] args) throws IOException{
	
		Scan s=new Scan();
		int n=s.scanInt();
		int m=s.scanInt();
		int a[]=new int[n];
		int b[]=new int[m];
		int min1=Integer.MAX_VALUE;
		int min2=Integer.MAX_VALUE;
		
		HashSet<Integer> h1=new HashSet<>();
		for(int i=0;i<n;i++)
		{
			int temp=s.scanInt();
			a[i]=temp;
			
		}
		for(int i=0;i<n;i++)
		{
			
			int temp=a[i];
			h1.add(temp);
			min1=Math.min(min1, temp);
		}
		//System.out.println(h1);
	
		for(int i=0;i<m;i++)
		{
			int temp=s.scanInt();
			b[i]=temp;
			
		}
		Arrays.sort(a);
		Arrays.sort(b);
		//System.out.println(Arrays.toString(a));
		//System.out.println(Arrays.toString(b));
		for(int i=0;i<m;i++)
		{
			int temp=b[i];
			min2=Math.min(min2, temp);
			if(h1.contains(temp))
			{
				System.out.println(temp);
				System.exit(0);
			}
		}
		String s1=min1+""+min2;
		String s2=min2+""+min1;
	    if(s1.compareTo(s2)<0)
	    	System.out.println(s1);
	    else
	    	System.out.println(s2);
	}
}
class Scan
{
   // BufferedReader br;
    StringTokenizer st;
   BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String scanString() throws IOException
    {
        while(st==null||!st.hasMoreTokens())
        {
            st=new StringTokenizer(br.readLine());
        }
       return st.nextToken();
      
    }
    int scanInt() throws IOException
    {
        return parseInt(scanString());
    }
    
    long scanLong() throws IOException
    {
        return parseLong(scanString());
    }
    
    
}
