import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] A = new int[N]; int[] B = new int[N]; for(int i = 0; i < N; ++i) A[i] = sc.nextInt(); for(int i = 0; i < N; ++i) B[i] = sc.nextInt(); Arrays.sort(A); Arrays.sort(B);//两个数组都排序好 int r = f(A, B, 0, 0);//两个指针从左开始匹配 if(r < N) r++;//原本有不匹配的,改B可以增加一个 else if(r == N) r--;//原本全部匹配的,改B会减少一个 System.out.println(r); } public static int f(int[] A, int[] B, int i, int j){ if(i >= A.length || j >= B.length) return 0; if(A[i] > B[j]) return f(A, B, i, j + 1); if(A[i] < B[j]) return f(A, B, i + 1, j); return 1 + f(A, B, i + 1, j + 1);//成功匹配到一对 } }