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

Задача . B. Георгий и раунд


Георгий решил подготовить раунд для Codesecrof, поэтому он подготовил m задач. Пронумеруем подготовленные задачи целыми числами от 1 до m. Сложность задачи с номером i Георгий оценивает целым числом bi.

Чтобы раунд получился хорошим, он должен состоять как минимум из n задач. Кроме этого он должен иметь хотя бы одну задачу со сложностью ровно a1, хотя бы одну со сложностью ровно a2, ..., и хотя бы одну задачу со сложностью ровно an. Конечно, в раунде дополнительно могут быть задачи и с другими сложностями.

Георгий обладает плохой фантазией, поэтому ему проще упростить некоторую уже подготовленную задачу, чем придумать новую и подготовить ее. В упрощении задач Георгий виртуоз. Он может упростить любую уже подготовленную задачу со сложностью c до любой целой положительной сложности d (c ≥ d), изменив ограничения на входные данные.

Однако не все так просто. Георгий понял, что даже в том случае, если он упростит некоторые задачи, ему может не хватить задач для хорошего раунда. Поэтому он решил узнать у вас, какое минимальное количество задач ему необходимо придумать дополнительно к уже подготовленным m задачам, чтобы из всех задач можно было собрать хороший раунд. Учтите, что Георгий может придумывать задачи любой сложности.

Входные данные

В первой строке заданы два целых числа n и m (1 ≤ n, m ≤ 3000) — минимальное количество задач в хорошем раунде и количество подготовленных Георгием задач. Во второй строке заданы целые числа через пробел a1, a2, ..., an (1 ≤ a1 < a2 < ... < an ≤ 106) — требования на сложности задач в хорошем раунде. В третьей строке заданы целые числа через пробел b1, b2, ..., bm (1 ≤ b1 ≤ b2... ≤ bm ≤ 106) — сложности задач, подготовленных Георгием.

Выходные данные

Выведите единственное целое число — ответ на задачу.

Примечание

В первом примере набор подготовленных задач удовлетворяет требованиям хорошего раунда.

Во втором примере достаточно придумать и подготовить две задачи со сложностями 2 и 3, чтобы получить хороший раунд.

В третьем примере очень просто получить хороший раунд, если дополнительно придумать и подготовить три задачи со сложностями 2, 3, 4.


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

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

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