Олимпиадный тренинг

Задача . Sleeping Cows


Задача

Темы:
У Фермера Джона есть \(N\) \((1 \le N \le 3000)\) коров различных размеров. Изначально он построил для каждой коровы персональный амбар, но сейчас некоторые из коров переросли свои амбары. Точнее, ФД изначально построил \(N\) амбаров с размерами \(t_1,t_2,\ldots,t_N\), а коровы сейчас имеют размеры \(s_1,s_2,\ldots,s_N\) (\(1\le s_i,t_i\le 10^9\)).

Каждую ночь коровы ищут амбар для ночевки. Корова \(i\) может спать в амбаре \(j\) если и только если, она помещается в амбар, то есть (\(s_i\le t_j\)). В каждом амбаре может ночевать только одна корова.

Мы говорим, что соответствие коров амбарам максимально если и только если корова, назначенная амбару, помещается в него, и каждая из не назначенных коров не помещается ни в один из оставшихся свободными амбаров.

Вычислите количество максимальных соответствий по модулю \(10^9 + 7\).

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(N\).

Вторая строка содержит \(N\) разделённых пробелами целых чисел \(s_1,s_2,\ldots,s_N\).

Третья строка содержит \(N\) разделённых пробелами целых чисел \(t_1,t_2,\ldots,t_N\).

ФОРМАТ ВЫВОДА (на экран / stdout):

Количество максимальных соответствий по модулю \(10^9 + 7\).


Примеры
Входные данныеВыходные данные
1 4
1 2 3 4
1 2 2 3
9

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя