Канатная дорога
На небольшом острове расположены два города: Дарксайд и Саннисайд, между которыми простираются крутые горы. Компания Intertown Company of Package Conveyance владеет канатной дорогой, соединяющей Дарксайд и Саннисайд, и занимается транспортировкой грузов. Они стремятся максимизировать прибыль, загружая на канатную дорогу как можно больше пакетов.
Канатная дорога устроена следующим образом. Её длина составляет L, и она подвешена на канате в центре. Представим, что вагонетка — это 1-мерный отрезок, а пакет — точка на линии. Пакеты можно размещать в любом месте, включая края вагонетки, при условии, что расстояние от пакета до центра вагонетки не меньше R, чтобы вагонетка не упала.
Вагонетка упадет, если выполнится следующее условие:
Здесь N — количество пакетов; m_i — вес i-го пакета; x_i — положение i-го пакета относительно центра вагонетки.
Вы, программист из Дарксайда, наняты в качестве инженера компании. Ваша задача — разработать программу, которая будет считывать список пакетов и проверять, можно ли загрузить все пакеты в заданном порядке, не допустив падения вагонетки в любой момент.
Входные данные
Входные данные состоят из двух строк, описывающих один тестовый случай. Первая строка содержит четыре целых числа N, L, M, R. Вторая строка содержит N целых чисел m_0, m_1, ..., m_{N-1}. Целые числа разделены пробелами.
Выходные данные
Если существует способ загрузить все пакеты, выведите "Yes" в одной строке, без кавычек. В противном случае выведите "No".