Сплячі корови#10373

Сплячі корови

1 секунда
128 мегабайтів
Легка

Фермер Джон має корів різних розмірів. Спочатку він збудував для кожної корови окремий хлів, але тепер деякі корови виросли і не поміщаються в свої хліви. Спочатку ФД збудував хлівів розміром t_1, t_2, ..., t_n, тоді як корови тепер мають розміри s_1, s_2, ..., s_n (1 \le s_i, t_i \le 10^9).

Кожної ночі корови виконують ритуал пошуку хліва для сну. Корова може спати в хліві лише тоді, коли вона в нього поміщається (s_i \le t_j). У кожному хліві може бути не більше однієї корови.

Зіставлення корів з хлівами вважається максимальним, якщо кожна корова, якій призначено хлів, може в ньому поміститися, а кожна корова, якій не призначено хлів, не може поміститися в жоден з вільних хлівів.

Потрібно обчислити максимальну кількість таких зіставлень за модулем 10^9 + 7.

Вхідні дані

Перший рядок містить число (1 \le n \le 3000). Другий рядок містить цілих чисел s_1, s_2, ..., s_n. Третій рядок містить цілих чисел t_1, t_2, ..., t_n.

Вихідні дані

Виведіть максимальну кількість зіставлень за модулем 10^9 + 7.

Приклади

Ось список усіх дев'яти максимальних відповідностей. Упорядкована пара (, ) означає, що корові призначено хлів .

(1, 1), (2, 2), (3, 4)
(1, 1), (2, 3), (3, 4)
(1, 1), (2, 4)
(1, 2), (2, 3), (3, 4)
(1, 2), (2, 4)
(1, 3), (2, 2), (3, 4)
(1, 3), (2, 4)
(1, 4), (2, 2)
(1, 4), (2, 3)

Приклад 1

Loading
Loading