Фермер Джон має корів різних розмірів. Спочатку він збудував для кожної корови окремий хлів, але тепер деякі корови виросли і не поміщаються в свої хліви. Спочатку ФД збудував хлівів розміром 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