Задача №1 “Опять скобки” (1 тур) 
Условие
Правильная скобочная последовательность — это такая строка, которая строится в соответствии со следующими правилами:
1)	() и [] являются правильными скобочными последовательностями;
2)	если A — правильная скобочная последовательность, то (A) и [A] — тоже правильные скобочные последовательности;
3)	если A и B — правильные скобочные последовательности, то AB — тоже правильная скобочная последовательность;
4)	других правильных скобочных последовательностей нет.
Например, строки [], [()()][]() и (((()[]))) являются правильными скобочными последовательностями, а строки [вася], [((], (<>) и ))))) — нет.
Подстрокой называется нуль или боле подряд идущих символов строки.
Задание
Найти правильную скобочную последовательность минимальной длины, подстрокой которой является заданная строка X. Длина строки X не превышает 127 символов.
Если таких последовательностей несколько, вывести любую из них. Если такой последовательности не существует, вывести слово NO.
Форматы входного и выходного файлов
Во входном файле INPUT.TXT задана строка X. Результат должен быть выведен в файл OUTPUT.TXT.
Примеры
	Пример 1	Пример 2	Пример 3	
INPUT.TXT	)(	())[()[()	[((]	
OUTPUT.TXT	()()	(())[()[()]]	NO	
Разбалловка
Решение задачи для результата “NO”	5	баллов	
Решение задачи для прочих результатов	30	баллов	
Интерфейс + работа с файлами	5	баллов	
ИТОГО	40	баллов	
Задача №2 “Пчела” (1 тур) 
Условие
В улье, изображённом на рисунке, в поисках нужной соты ползает пчела. Соты представляют собой шестиугольники, и пчела может переползать из одной соты в соседнюю с ней вдоль заданных осей координат X, Y или Z.
Путь пчелы задаётся как последовательность пар следующего вида: сначала записывается буква (X, Y или Z), определяющая направление движения, а затем не равное нулю целое число, задающее, на сколько сот перемещаться в этом направлении.
Известно, что из каждой соты, которую посещала пчела, можно дойти до соты, с которой пчела начала свой путь, пройдя не более:
А)	50 сот;
Б)	500 сот.
Задание
Требуется определить, сколько сот на своём пути пчела посещает более одного раза.
Технические требования
Входной файл INPUT.TXT состоит из последовательности следующих строк. В первой строке содержится целое число N (1 ≤ N ≤ 10000) — количество звеньев в пути пчелы. Последующие N строк содержат описания звеньев в пути пчелы в порядке её перемещения. В каждой строке сначала идёт буква (X, Y или Z), определяющая направление движения, а затем — целое число, задающее, на сколько сот пчела перемещается в этом направлении. Буква и число разделяются ровно одним пробелом.
Выходной файл OUTPUT.TXT должен содержать единственное целое число — количество неоднократно посещённых пчелой сот.
Пример
INPUT.TXT	OUTPUT.TXT	
8
Z -3
Y -1
Z 4
Y 4
Z -3
Y -5
Z 2
Y 2	4	
Разбалловка
Решение для варианта А	25	баллов	
Решение для варианта Б	30	баллов	
Интерфейс и работа с файлами	5	баллов	
ИТОГО	60	баллов	
Задача №3 “Опоздавшие в театр” (2 тур)
Условие
В театре N мест, пронумерованных целыми числами от 1 до N. Некоторые из зрителей опоздали на спектакль, поэтому после третьего звонка те зрители, которые имели билеты на неудобные места, пересели на более удобные. Опоздавшие зрители, которые пришли уже после третьего звонка, садились на первое попавшееся свободное место.
В антракте один из опоздавших зрителей решил занять своё место. Если его место до этого было уже занято, то тот, кто там сидел, пересаживается на своё место. Если и там кто-то уже сидел, то и этот зритель также вынужден был вернуться на своё место. И так далее.
Поскольку в театр попали только зрители, имевшие на руках билеты, то начавшийся в антракте процесс пересаживания обязательно заканчивается.
Задание
Необходимо посчитать, сколько человек в результате пересаживания было вынуждено поменять свои места.
Форматы входного и выходного файлов
В первой строке входного файла INPUT.TXT содержится целое число N — количество мест в зале (1  N  10000). Вторая строка содержит последовательность из N целых чисел, разделённых пробелами, где первое число определяет номер места в билете у зрителя, который занял место с номером 1, второе — номер места в билете у зрителя, который занял место с номером 2, и так далее. Если место было свободно, то соответствующее число равно 0.
В третьей строке содержится одно число — номер места в билете у опоздавшего зрителя, который в антракте решил пересесть на своё место.
Выходной файл OUTPUT.TXT должен содержать одно число — количество зрителей, поменявших свои места в антракте, включая опоздавшего зрителя.
Пример
INPUT.TXT	OUTPUT.TXT	
10
0 2 5 3 4 0 0 9 8 0
4	3	
Разбалловка
Решение задачи	40	баллов	
Интерфейс + работа с файлами	5	баллов	
ИТОГО	45	баллов	
Задача №4 “Разделенные круги” (2 тур)
Условие
Множество кругов на плоскости задано координатами центров и радиусами. Плоскость разделена на две полуплоскости прямой, проходящей через две данные точки P и Q.
Задание
Требуется определить величину a — число кругов, которые пересекаются с прямой или касаются ее, а также величины b и c — число кругов, полностью лежащих в каждой из полуплоскостей.
Форматы входного и выходного файлов
Входной файл INPUT.TXT содержит в первой строке числа xp yp xq yq N — целые координаты точек P и Q и число кругов N (0  N  1000). В следующих N строках указаны по три целых числа xi yi ri — координаты центра и радиус i-го круга. 
Значения всех координат и радиусов находятся в диапазоне от –10000 до 10000.
В выходной файл OUTPUT.TXT необходимо вывести: в первой строке число a; во второй и третьей строках — числа b и c в порядке возрастания.
Примечание: a + b + c = N.
Пример
INPUT.TXT	OUTPUT.TXT	
0 0 100 0 3
50 50 50
-10 -10 20
7 8 3	2
0
1	
Разбалловка
Решение для случая прямой, параллельной оси координат	10	баллов	
Решение для общего случая	40	баллов	
Интерфейс + работа с файлами	5	баллов	
ИТОГО	55	баллов