/* Uždavinys:   Šokiai (sokiai-vyr)
 * Olimpiada:   LIO'21
 * Etapas:      miesto (rajono)
 * Grupė:       vyresniųjų 
 *
 * Autorius:    Linas Petrauskas
 *
 * Optimalus poravimo principas:
 * pačiam aukščiausiam vaikinui skiriama aukščiausia iš merginų, kurios už jį žemesnės;
 * po to tokiu pat principu ieškoma pora aukščiausiam vaikinui iš likusių, ir t.t.
 *
 * Šis sprendimas naudoja vaikinų/merginų skaičiaus pagal ūgį masyvus ir efektyviai
 * suskaičiuoja, kiek porų pavyksta sudaryti aprašytuoju būdu.
 *
 * Programa taip pat tikrina pradinių duomenų korektiškumą.
 *
 */

#include <cstdio>
#include <algorithm>

using namespace std;

    const int minn = 1, maxn = 100, minh = 160, maxh = 200;

    int n, ats, v[maxh + 1], m[maxh + 1];

int main()
{
    /*
    freopen("sokiai.in", "r", stdin);
    freopen("sokiai.out", "w", stdout);
    */

    scanf("%d", &n); assert(n >= minn && n <= maxn);
    for (int h, i = 0; i < n; i++) { scanf("%d", &h); v[h]++; assert(h >= minh && h <= maxh); }
    for (int h, i = 0; i < n; i++) { scanf("%d", &h); m[h]++; assert(h >= minh && h <= maxh); }

    for (int vh = maxh; vh >= minh; vh--)
        for (int mh = vh - 1; mh >= minh; mh--) {
             int k = min(v[vh], m[mh]);
            ats   += k;
            v[vh] -= k;
            m[mh] -= k;
        }
    printf("%d\n", ats);
    return 0;
}

