B. Монстры атакуют!
ограничение по времени на тест
2.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вы играете в компьютерную игру. Текущий уровень этой игры можно представить в виде прямой линии. Ваш персонаж находится в точке $$$0$$$. Есть $$$n$$$ монстров, пытающихся убить вашего персонажа; у $$$i$$$-го монстра здоровье равно $$$a_i$$$ и изначально он находится в точке $$$x_i$$$.

Каждую секунду происходит следующее:

  • сначала вы стреляете до $$$k$$$ пуль в монстров. Каждая пуля нацеливается только на одного монстра и уменьшает его здоровье на $$$1$$$. Для каждой пули вы выбираете ее цель произвольно (например, вы можете выстрелить все пули в одного монстра, выстрелить все пули в разных монстров или выбрать любую другую комбинацию). Любой монстр может быть целью для пули, независимо от его положения и других факторов;
  • затем все живые монстры со здоровьем $$$0$$$ или менее умирают;
  • затем все живые монстры перемещаются на $$$1$$$ точку ближе к вам (монстры слева от вас увеличивают свои координаты на $$$1$$$, монстры справа от вас уменьшают свои координаты на $$$1$$$). Если какой-либо монстр достигает вашего персонажа (перемещается в точку $$$0$$$), вы проигрываете.

Сможете ли вы выжить и убить всех $$$n$$$ монстров, не дав им достичь вашего персонажа?

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

Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 3 \cdot 10^4$$$) — количество наборов входных данных.

Каждый набор входных данных состоит из трех строк:

  • первая строка содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 3 \cdot 10^5$$$; $$$1 \le k \le 2 \cdot 10^9$$$);
  • вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^9$$$);
  • третья строка содержит $$$n$$$ целых чисел $$$x_1, x_2, \dots, x_n$$$ ($$$-n \le x_1 < x_2 < x_3 < \dots < x_n \le n$$$; $$$x_i \ne 0$$$).

Дополнительное ограничение на входные данные: сумма $$$n$$$ по всем наборам входных данных не превышает $$$3 \cdot 10^5$$$.

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

Для каждого набора входных данных выведите YES, если вы можете убить всех $$$n$$$ монстров до того, как они достигнут вашего персонажа, или NO в противном случае.

Вы можете выводить каждую букву в любом регистре (как строчную или как заглавную). Например, строки yEs, yes, Yes и YES будут приняты как положительный ответ.

Пример
Входные данные
5
3 2
1 2 3
-1 2 3
2 1
1 1
-1 1
4 10
3 4 2 5
-3 -2 1 3
5 3
2 1 3 2 5
-3 -2 3 4 5
2 1
1 2
1 2
Выходные данные
YES
NO
YES
YES
NO
Примечание

В первом примере вы можете поступить следующим образом:

  • в течение $$$1$$$-й секунды выстрелить $$$1$$$ пулю в $$$1$$$-го монстра и $$$1$$$ пулю в $$$3$$$-го монстра. Затем $$$1$$$-й монстр умирает, $$$2$$$-й и $$$3$$$-й монстры приближаются;
  • в течение $$$2$$$-й секунды выстрелить $$$2$$$ пули во $$$2$$$-го монстра. Затем $$$2$$$-й монстр умирает, $$$3$$$-й монстр приближается;
  • в течение $$$3$$$-й секунды выстрелить $$$2$$$ пули в $$$3$$$-го монстра. Затем $$$3$$$-й монстр умирает.

Во втором примере вы можете выстрелить только $$$1$$$ пулю, поэтому вы можете убить только одного из двух монстров в течение $$$1$$$-й секунды. Затем оставшийся монстр приближается и убивает вашего персонажа.