Умакса в огороде есть большой вишневый сад, состоящий из n деревьев, расположенных по кругу. на каждом из деревьев висит некоторое количество вишен.
макс хочет собрать ягоды, а для этого выбрать дерево с которого начинать сбор и идти по кругу, либо по часовой, либо против часовой стрелки. макс решил собирать ягоды в ведра, каждое из которых вмещает k вишен. сбор ягод с высоких деревьев – трудоемкая , поэтому для удобства макс хочет, чтобы вместимости текущего ведра всегда хватало, чтобы собрать всю вишню с дерева полностью. тогда, если вместимости ведра не хватает, макс кладет текущее ведро и берет новое.
макс хочет выбрать точку начала и направление оптимально так, чтобы использовать как можно меньшее количество ведер.
выведите минимальное количество ведер, которое понадобится максу для сбора всех ягод.
входные данные
первая строка содержит целые числа n и k (1≤n≤2⋅1051≤n≤2⋅105, 1≤k≤1091≤k≤109) — соответственно количество деревьев и вместимость одного ведра.
вторая строка содержит nn целых чисел xi (1≤xi≤k1≤xi≤k) — количество вишен на каждом из деревьев.
выходные данные
выведите одно целое число — количество ведер, которое понадобится максу, чтобы собрать всю вишню.
примеры
входные данные
5 10 3 3 3 7 2
выходные данные
2
входные данные
7 10 3 3 7 3 4 4 3
выходные данные
3
желательно алгоритм на питоне)
заранее