만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

멘토 매칭하기

시간 제한1초메모리 제한1024 MB

요약
학생과 멘토를 최대 한 명씩 짝지을 때, 모든 학생의 최종 실력 중 최솟값을 최대로 만드는 짝짓기 방법의 수를 구합니다.
난이도

보통10점 중 7점

유형
이분 탐색, 그리디, 정렬, 조합론
정답자
아직 제출이 없습니다

문제

학생 NN명과 멘토 MM명이 있다. 학생들의 실력을 높이기 위해 멘토를 학생에게 배정하려고 한다.

ii번 학생의 실력은 AiA_i이고, jj번 멘토의 지도력은 BjB_j이다. 학생 한 명에게는 최대 한 명의 멘토를 배정할 수 있고, 멘토 한 명도 최대 한 명의 학생을 지도할 수 있다. 멘토를 배정하지 않은 학생이 있어도 된다. 멘토가 학생에게 배정되면, 그 학생의 실력은 멘토의 지도력만큼 오른다.

모든 학생의 실력 중 최솟값을 최대로 만드는 멘토 배정 방법의 수를 구하라.

입력

첫째 줄에 학생의 수 NN과 멘토의 수 MM이 공백으로 구분되어 주어진다. (1≤N,M≤200 000)(1 \leq N, M \leq 200\,000)

둘째 줄에 학생들의 실력을 나타내는 수열 AA가 공백으로 구분되어 주어진다. (1≤Ai≤109)(1 \leq A_i \leq 10^9)

셋째 줄에 멘토들의 지도력을 나타내는 수열 BB가 공백으로 구분되어 주어진다. (1≤Bj≤109)(1 \leq B_j \leq 10^9)

출력

모든 학생의 실력 최솟값을 최대로 만드는 멘토 배정 방법의 수를 109+710^9 + 7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    2 3
    3 5
    1 3 2
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4 2
    2 5 3 3
    5 10
    
    예상 출력
    8