У Вас есть игрушечное здание состоящее из \(n\) башен. Каждая башня является столбиком кубиков, стоящих друг на друге. \(i\)-я башня состоит из \(h_i\) кубиков и, соответственно, имеет высоту \(h_i\).
Объявим операцию срезания по некоторой высоте \(H\) следующим образом: для каждой башни \(i\), если её текущая высота больше \(H\), то уберем несколько верхних кубиков так, чтобы высота башни стала равна \(H\). Стоимость одного «срезания» равна суммарному количеству убранных кубиков со всех башен.
Назовем срез хорошим, если его стоимость меньше или равна \(k\) (\(k \ge n\)).
Определите минимально возможное количество хороших срезов, необходимых для того, чтобы сделать все башни равными по высоте. Очевидно, что всегда существует способ выровнять башни.
Выходные данные
Выведите единственное число — минимально возможное количество хороших срезов, необходимых для того, чтобы сделать все башни равными по высоте.