1.Вера купила себе ожерелье, состоящее из n бусин черного и золотистого цвета, нанизанных на цепочку. Цепочка запаяна в замкнутую окружность.

Вера решила, что из золотистых бусин она сделает браслеты для своих подруг, вырезая из своего ожерелья кусочки рядом расположенных золотых бусин и добавляя к ним замочек. Для изготовления каждого браслета Вере требуется k бусин, при этом нельзя составить браслет из двух вырезанных кусочков ожерелья, так как спаять кусочки цепочки Вера не может, а ставить на браслет два замочка - некрасиво.

Требуется написать программу, которая поможет Вере вычислить максимальное число подруг, которым Вера сможет сделать браслеты, вырезая цепочки золотых бусин нужной длины из исходного ожерелья

Формат ввода
В первой строке входных данных содержатся два натуральных числа n и k, не превышающие 106 - длина купленного ожерелья и требуемая длина браслета.

Во второй строке даны n чисел, разделенных одним пробелом, каждое из которых равно 0 или 1. i-ое число в этой последовательности обозначает цвет i-ой бусины в порядке обхода по часовой стрелке: 0 — черный, а 1 — золотистый, соответственно.

Формат вывода
В выходной файл выведите максимальное количество подруг, которым Вера сможет сделать браслеты

2.Вася составлял числовой пароль для компьютера и на всякий случай решил оставить себе подсказку. В качестве подсказки Вася записал число, равное произведению цифр в придуманном пароле.

Через некоторое время Вася задумался, что если он действительно забудет пароль, то не сможет гарантированно его восстановить, зная только произведение его цифр. Поэтому он для себя сформулировал дополнительное условие – сделать пароль наименьшим возможным числом, чтобы произведение цифр давало значение, записанное в подсказке. Но при этом длина пароля не может быть меньше двух цифр.

Однако из требований безопасности пароль требуется менять каждый месяц, а Васе очень нравится способ создания пароля с подсказкой, который он придумал, и он собирается его придерживаться в дальнейшем. Поэтому он стал сначала придумывать число-подсказку, а затем по нему получать новый пароль. Но оказалось, что не для любого числа-подсказки можно придумать пароль так, чтобы произведение цифр пароля было равно подсказке.

Составьте программу, которая поможет Васе получить новый пароль или сообщит, что это сделать нельзя.

Формат ввода
Вводится целое число N (1 ≤ N ≤ 2 ⋅ 106).

Формат вывода
Выведите на экран одно число M ≥ 10 (которое является будущим паролем Васи) или фразу «No solution», если для введенного числа-подсказки создание пароля невозможно

3.Гермиона, освоив все существующие заклинания, решила начать придумывать собственные. После многочисленных попыток она обнаружила, что магическую силу имеют только слова, в которых не расположены более двух гласных букв подряд и нет больше двух согласных букв, стоящих рядом.

Например, слова magic, letter, feeling – имеют магическую силу, а слова aaa, filth, aggressor – нет.

Гермиона решила, что если ей встретится немагическое слово, то она просто добавит одну или несколько букв так, чтобы слово стало магическим.

Напишите программу, которая поможет Гермионе вычислить, какое минимальное количество букв ей нужно добавить в слово, чтобы оно получило магическую силу.

Формат ввода
Вводится слово, состоящее только из маленьких латинских букв. Длина слова не превышает 255 символов.

Формат вывода
Выведите минимальное число букв, которые нужно добавить в это слово, чтобы оно стало обладать магической силой.

4.Марина работает на ресепшн в большом отеле.

Всего в отеле N номеров, которые расположены вдоль длинного коридора и пронумерованы по порядку слева направо от 1 до N. Вход и ресепшн расположены между номерами m и m+1. Если стойка ресепшн и вход расположены в начале коридора до всех номеров, то m=0, если в конце, после всех номеров, то m=N. В номер i можно поселить группу из ai человек.

В отель приезжают k групп туристов, каждая хочет заселиться в один номер. В j-й группе bj человек. Марина выбирает подходящий номер по следующему алгоритму. Если есть свободный номер ровно такой вместимости, сколько человек в группе, то выдается он. Если нет, но есть больше, выдается этот номер. В каждом из случаев выдается номер, расположенный ближе ко входу и стойке ресепшн. Если есть два номера, расположенных на равном расстоянии, то Марина выбирает номер, находящийся левее. Если подходящих номеров нет, группа туристов уезжает в другой отель.

Выведите последовательность номеров, куда заселяли каждую приезжающую группу туристов. Если для группы туристов не нашлось походящего номера, то для нее следует вывести -1.

Формат ввода
В первой строке даны три целых числа n, k и m – число номеров в отеле, число приезжавших групп туристов и значение номера, после которого расположен вход и ресепшн (1 ≤ n, k ≤ 1000, 0 ≤ m ≤ n). Если m = 0, то вход находится перед первым номером.

Во второй строке через пробел даны n целых чисел ai – вместительности номеров отеля (1 ≤ ai ≤ 1000).

В третьей строке через пробел вводятся k целых чисел bj – число заехавших в j-ю очередь туристов (1 ≤ bj ≤ 1000).

Формат вывода
Выведите через пробел k чисел cj – значение номеров отеля, выбранных для туристов, заехавших j-ми по очереди. Если для туристов не нашлось подходящего номера в отеле, будем считать, что cj=-1.