#include<bits/stdc++.h>
using namespace std;
//a数组代表小X,b数组代表电脑,f数组代表标记数组,如果该数被比较过就标记为1
int n,a[10000],b[10000],f[10000],ans=0; 

int main()
{
    cin>>n;
    //读入小X的数据
    for (int i=1;i<=2*n;i++)
    {
        cin>>a[i];
    }

    //读入电脑的数据
    for (int i=1;i<=2*n;i++)
    {
        cin>>b[i]; 
    }

    //小X全部排序
    sort(a+1,a+2*n+1);
    //电脑前一半排序
    sort(b+1,b+n+1);
    //电脑后一半排序
    sort(b+n+1,b+2*n+1);

    //前一半,拿a数组的前一半数和b[i](前一半)比较,找到第一个比b[i]小的数,并标记该数比较过
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
	//如果a[j]没被用过,且比b[i]小,赛马成功
            if ((f[j]==0)&&(a[j]<b[i]))
            {
	//标记a[j]被用过了
                f[j]=1;
                ans+=1; 
                break;
            }
        }
    }

    //后一半,用a数组的每个数和b[i]比较(b[i]是后一半),找到第一个比b[i]大的数
    for (int i=n+1;i<=2*n;i++)
    {
        for (int j=1;j<=n*2;j++)
        {
            if ((f[j]==0)&&(a[j]>b[i]))
            {
                f[j]=1;
                ans+=1; 
                break;
            }
        }
    } 
 cout<<ans<<endl;
 return 0;
}

/**************************************************************
	Problem: 1537
	User: admin
	Language: C++
	Result: Accepted
	Time:66 ms
	Memory:2196 kb
****************************************************************/