import java.util.*;

public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	}
} import java.util.*; util.* java public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	}
} Main public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	} main {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int N=sc.nextInt(); N sc.nextInt() sc.nextInt sc int M=sc.nextInt(); M sc.nextInt() sc.nextInt sc int X=sc.nextInt(); X sc.nextInt() sc.nextInt sc int count_bef=0; count_bef 0 int count_aft=0; count_aft 0 int ans=0; ans 0 int[] A=new int[N+1]; A new int[N+1] N+1 N 1 for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる int i=0; int i=0; i 0 i<=N i N i++ i++ i A[i]=0;	//初期条件で全部の配列に0を入れる A[i]=0 A[i] A i 0 for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		} int i=1; int i=1; i 1 i<=M i M i++ i++ i {
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		} {
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		} int a=sc.nextInt(); a sc.nextInt() sc.nextInt sc A[a]=1 A[a] A a 1 for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		} int j=1; int j=1; j 1 j<=X j X j++ j++ j {
			if(A[j]==1) count_bef++;
		} {
			if(A[j]==1) count_bef++;
		} if(A[j]==1) count_bef++; A[j]==1 A[j] A j 1 count_bef++ count_bef for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		} int j=X+1; int j=X+1; j X+1 X 1 j<=N j N j++ j++ j {
			if(A[j]==1) count_aft++;
		} {
			if(A[j]==1) count_aft++;
		} if(A[j]==1) count_aft++; A[j]==1 A[j] A j 1 count_aft++ count_aft if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft; count_bef<count_aft count_bef count_aft ans=count_bef ans count_bef ans=count_aft ans count_aft System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	}
} public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	}
} Main
import java.util.*;

public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int X=sc.nextInt();

		int count_bef=0;
		int count_aft=0;
		int ans=0;

		int[] A=new int[N+1];	//全部でN+1個の配列を準備

		for(int i=0;i<=N;i++) A[i]=0;	//初期条件で全部の配列に0を入れる

		for(int i=1;i<=M;i++){
			//料金所には1を格納
			int a=sc.nextInt();
			A[a]=1;
		}

		for(int j=1;j<=X;j++) {
			if(A[j]==1) count_bef++;
		}

	    for(int j=X+1;j<=N;j++) {
			if(A[j]==1) count_aft++;
		}

		if(count_bef<count_aft) ans=count_bef;
		else ans=count_aft;

		System.out.println(ans);

	}
}