В крайних клетках полоски шириной в одну клетку и длиной в $$$N$$$ клеток сидят лягушка и кузнечик: лягушка в клетке № 1, кузнечик в клетке № $$$N$$$. Каждую секунду лягушка прыгает в сторону кузнечика, и одновременно кузнечик прыгает в сторону лягушки. Лягушка может прыгать только на две или на три клетки, кузнечик — только на одну или на две клетки. За какое наименьшее время они смогут оказаться в одной клетке?
Единственная строка входных данных содержит целое число $$$N$$$ — длину клетчатой полосы ($$$2 \leq N \leq 2\cdot 10^9$$$).
Если лягушка и кузнечик могут оказаться в одной клетке, требуется вывести одно целое число — минимальное количество секунд, через которое они встретятся. Если они не смогут оказаться в одной клетке, требуется вывести число «-1» (без кавычек).
Решения, правильно работающие при $$$N \leq 30$$$, будут оцениваться в 30 баллов.
Решения, правильно работающие при $$$N \leq 10^5$$$, будут оцениваться в 50 баллов.
5
1
9
2
В первом примере лягушка может прыгнуть из клетки 1 в клетки 3 и 4, а кузнечик может прыгнуть из клетки 5 в клетки 3 и 4. Поэтому через 1 секунду они могут оказаться в одной клетке.
Во втором примере лягушка и кузнечик могут встретиться через 2 секунды. Например, лягушка прыгает в клетку 3, затем в клетку 6, а кузнечик прыгает в клетку 8, затем в клетку 6.
Дан прямоугольник из $$$N\times M$$$ квадратов. Назовём квадраты на границе прямоугольника крайними. Расстоянием от какого-либо квадрата до края назовём количество перемещений, которое нужно сделать из данного квадрата в соседний по стороне квадрат, чтобы добраться от данного квадрата до крайнего квадрата. Квадраты с максимальным расстоянием до края, будем называть центральными. При этом квадрат может быть одновременно и крайним, и центральным.
На рисунке изображён прямоугольник для $$$N=7$$$ и $$$M=8$$$, в каждом квадрате которого записано расстояние от этого квадрата до края. У этого прямоугольника два центральных квадрата.
По данным $$$N$$$ и $$$M$$$ определите количество центральных квадратов в прямоугольнике.
Программа получает на вход два целых положительных числа записанных в разных строках, не превосходящих $$$10^9$$$ — размеры прямоугольника.
Программа должна вывести одно число — количество центральных клеток в данном прямоугольнике.
Решения, правильно работающие, когда входные числа не превосходят $$$100$$$, будут оцениваться в 30 баллов.
Решения, правильно работающие, когда входные числа не превосходят $$$10^5$$$, будут оцениваться в 60 баллов.
7 8
2
Решив запастись ручками на весь новый учебный год, Игорь подсчитал, что ему нужно $$$M$$$ ручек.
В его любимом интернет-магазине есть удобная функция — он может сразу добавить в заказ упаковку из любого числа ручек от $$$1$$$ до $$$N$$$. Правда, оказалось, что нельзя добавить в заказ две упаковки одного размера. Например, если Игорю нужно купить $$$M=12$$$ ручек, а максимальное число ручек в упаковке $$$N=10$$$, то Игорь может добавить в заказ упаковку из $$$7$$$ ручек и упаковку из $$$5$$$ ручек, но не сможет добавить две упаковки из $$$6$$$ ручек.
Сформируйте заказ на $$$M$$$ ручек, используя минимальное число различных упаковок.
Первая строка входных данных содержит число $$$N$$$ — максимальный размер одной упаковки ($$$1\le N\le 10^9$$$). Вторая строка входных данных содержит целое число $$$M$$$ — необходимое количество ручек в заказе ($$$1\le M\le 10^9$$$).
Программа должна вывести одно или несколько чисел от $$$1$$$ до $$$N$$$ — размеры выбранных упаковок в любом порядке. Есть имеется несколько возможных решений, то выведите любое из них. Если решения не существует, необходимо вывести одно число «$$$0$$$».
Решения, правильно работающие при $$$N \le 10^5$$$, будут оцениваться в 40 баллов.
10 12
5 7
2 5
0
В левом верхнем углу прямоугольного поля размера $$$N \times M$$$ сидит Черепашка. Она хочет закрасить некоторые клетки по спирали, закручивающейся к центру, как на рисунке:
Определите, сколько клеток ей придётся закрасить.
Первая строка входных данных содержит число $$$N$$$ — высоту прямоугольника, вторая строка содержит число $$$M$$$ — ширину прямоугольника. Все числа — целые положительные и не превосходят $$$2\times10^9$$$.
Программа должна вывести одно целое число — количество клеток, закрашенных Черепашкой.
Обратите внимание, что ответ в этой задаче может превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Решения, правильно работающие, когда числа $$$N$$$ и $$$M$$$ не превосходят 100, будут оцениваться в 40 баллов.
Решения, правильно работающие, когда числа $$$N$$$ и $$$M$$$ не превосходят $$$10^5$$$, будут оцениваться в 60 баллов.
5 6
20
1 5
5
Вы получили доступ к одной из камер наблюдения в особо секретной огранизации. В зоне видимости камеры находится табло, с которого вы постоянно считываете информацию. Теперь вам нужно написать программу, которая по состоянию табло определяет, какая буква изображена на нём в данный момент. Табло представляет из себя квадратную таблицу, разбитую на $$$n\times n$$$ равных квадратных светодиодов. Каждый диод либо включён, либо выключен. Введём систему координат, направив ось $$$OX$$$ вправо, а ось $$$OY$$$ — вверх, приняв сторону диода равной 1.
На табло могут быть изображены только следующие буквы:



По виду табло определите, какая буква на нём изображена.
В первой строке входных данных находится одно число $$$n$$$ ($$$1 \le n \le 10$$$) — сторона табло.
В следующих $$$n$$$ строках находятся строки длины $$$n$$$ из символов «.» и «#» — строки таблицы. «.» обозначает выключенный квадратный диод табло, а «#» — горящий.
Программа должна вывести единственный символ: если данная таблица подходит под одно из описаний букв I, O, C, L, H, P, то выведите её (все буквы — английские). Если же данная таблица не подходит ни под какие условия, то выведите X.
4 .##. .##. .##. ....
I
5 #...# .#.#. ..#.. .#.#. #...#
X