Угода
На фермі Джона відбудеться з'їзд з поїдання трави.
Корови з усього світу прибувають у місцевий аеропорт, щоб відвідати з'їзд і поїсти траву. Загалом n корів прибувають в аеропорт, і корова i прибуває в момент часу t[i]
(0 ≤ t[i]
≤ 10^9
). ФД організував m автобусів для транспортування корів з аеропорту. Кожен автобус може вмістити до c корів. ФД чекає разом з автобусами в аеропорту і збирається розподілити прибуваючих корів по автобусах. Автобус відправляється з аеропорту в момент, коли прибуває остання корова. ФД прагне, щоб прибуваючі корови не чекали в аеропорту занадто довго. Яке найменше значення максимального часу очікування з усіх корів, якщо ФД оптимально призначить їх по автобусах? Час очікування корови є різницею між часом її прибуття і часом відправлення автобуса, в який вона розподілена.
Гарантується, що m * c ≥ n.
Вхідні дані
Перший рядок містить три цілі числа n (1 ≤ n ≤ 10^5
), m (1 ≤ m ≤ 10^5
), c (1 ≤ c ≤ n). Наступний рядок містить n розділених одиночними пробілами цілих чисел, що представляють час прибуття кожної корови.
Вихідні дані
Виведіть один рядок, що містить оптимальне мінімальне максимальне значення часу очікування для будь-якої з прибуваючих корів.
Приклад
Якщо дві корови, що прибули в момент 1, підуть у перший автобус, а корови, що прибули в моменти часу 3 і 4, - у другий, а корови, що прибули в моменти часу 10 і 14, - у третій, то максимальний час очікування буде 4 (корова, що прибула в момент часу 10, буде чекати до часу 14).