문제

도원이가 다니는 백금고등학교의 1학년은 A반과 B반 2개의 반으로 이루어져 있다.
이번에 백금고등학교에서는 체육대회를 개최하는데, 많은 참여를 위해 1학년은 A반과 B반의 1대1 줄다리기를 진행하기로 하였다.
A반과 B반은 둘 다 n명의 학생들로 이루어져 있는데, 각 반은 이 n명의 학생을 1번부터 n번까지 번호를 붙혀, 같은 번호의 학생끼리 1대1 줄다리기를 진행하게 된다.


A반에 다니고 있는 도원이는 인맥을 활용하여 B반의 1번 학생부터 n번 학생까지 줄을 당기는 힘이 얼마인지 알아내었다..!
도원이는 A반 학생들의 줄을 당기는 힘이 얼마인지도 전부 알고 있기 때문에, 번호를 붙힐 때 B반의 학생들을 최대한 많이 이길 수 있도록 하려고 한다.
이 때 도원이가 B반 학생을 최대 몇 명 이기도록 A반 학생을 배치할 수 있을 지 출력해보자.

입력

첫째 줄에 A반과 B반의 학생의 수 n이 주어진다 (1≤n≤100,000)
둘째 줄에 B반의 1번 학생부터 n번 학생까지의 당기는 힘이 주어진다.
셋째 줄에 A반의 학생 n명의 당기는 힘이 주어진다. (당기는 힘은 100만 이하의 자연수로 주어진다)

출력

첫째 줄에 도원이가 B반 학생을 최대 몇 명 이길 수 있도록 배치할 수 있을 지 출력한다.

예제 1 입력

3
1 3 5
2 3 4

예제 1 출력

2

예제 2 입력

4
4 5 6 7
1 2 3 4

예제 2 출력

0

Source

n = int(input())

b = list(map(int, input().split()))
a = list(map(int, input().split()))
b.sort()
a.sort()
count = 0
j = 0

for i in range(n):
    while(j < n and a[j] <= b[i]):
        j += 1
    if(j == n):
        break
    count += 1
    j += 1

print(count)