Russian Code Cup 2016 - Финал [неофициальная интернет-трансляция, рекомендуется для Div. 1] |
---|
Закончено |
Церемония закрытия Squanch Code Cup проводится в большом зале на n × m человек. Сам зал состоит из n рядов, в каждом из которых находится m стульев. Каждый стул имеет две координаты: (x, y) (1 ≤ x ≤ n, 1 ≤ y ≤ m).
На вход в зал столпилось две очереди: k человек находится в точке с координатами (0, 0), и n·m - k человек в точке с координатами (0, m + 1). У каждого человека должен быть билет на определённое место. Если у человека p с начальными координатами (x, y) билет на место (xp, yp), ему нужно будет пройти |x - xp| + |y - yp|.
Про каждого человека известна его выносливость, а именно какое максимальное расстояние он может пройти. Ваша задача узнать, можно ли распределить все билеты, чтобы каждый человек смог дойти до своего места.
Первая строка ввода содержит два натуральных числа n и m (1 ≤ n·m ≤ 104) — размеры зала.
Вторая строка содержит несколько целых неотрицательных чисел. Первое число k (0 ≤ k ≤ n·m) обозначает число людей с начальными координатами (0, 0). За ним следуют k чисел, обозначающих выносливость этих людей.
Третья строка содержит несколько целых неотрицательных чисел. Первое число l (l = n·m - k) обозначает число людей с начальными координатами (0, m + 1) За ним следуют l чисел, обозначающих выносливость этих людей.
Выносливость задается натуральными числами, не превышающими n + m.
Если можно распределить билеты описанным способом, выведите «YES». Иначе выведите «NO».
2 2
3 3 3 2
1 3
YES
2 2
3 2 3 3
1 2
NO
Название |
---|