Влад наконец-то достиг позиции тимлида в команде, но теперь у него совсем нет времени на дорогу домой, и ему придется спать в офисе. К сожалению, не все IT-компании могут позволить себе просторный и удобный коворкинг, в котором можно подремать, поэтому Влад будет спать на офисных стульях.
В офисе есть n стульев, i-й из которых имеет высоту h_i и ширину w_i. Влад планирует выбрать любой набор офисных стульев \[i_1,i_2,…,i_k] и расположить в ряд, чтобы на них можно было лечь. Рост Влада равен H, поэтому, чтобы он мог удобно лежать, необходимо, чтобы суммарная ширина выбранных стульев была не меньше H, то есть ∑_j=1kw_i_j≥H.
Очевидно, что спать на стульях разной высоты неудобно. Назовем неудобностью выбранного набора максимальную разность высот двух соседних стульев в ряду, то есть max_j=2k∣h_i_j−h_i_j−1∣. Если набор состоит из одного стула, его неудобность равна 0.
Помогите Владу выбрать набор стульев так, чтобы на ряду из них можно было лежать, а неудобность этого ряда была как можно меньше.
В первой строке ввода через пробел даны два целых числа n и H --- количество стульев и рост Влада (1≤n≤2⋅105; 1≤H≤109).
Во второй строке ввода через пробел перечислены n целых чисел h_i --- высоты стульев (1≤h_i≤109). В третьей строке в том же формате перечислены n целых чисел w_i, равных ширине стульев (1≤w_i≤109).
Гарантируется, что H не превосходит суммы всех w_i.
Выведите единственное число --- минимальное возможное неудобство среди всех подходящих наборов.
В первом примере нужно выставить стулья 2 и 4 в любом порядке.
Во втором примере можно выбрать, например, следующие наборы: \[1,5], \[2,4,3]. Обратите внимание, что порядок стульев в наборе важен: неудобность набора \[2,3,4] равна max(∣5−3∣,∣4−5∣)=max(2,1)=2, что больше, чем для набора \[2,4,3].