XVI командный чемпионат по информатике, программированию и математике среди школьников Самарской области
A. Календарь праздников
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout
Все герои и события вымышлены, любые совпадения случайны.
Disclaimer

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

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

Размышления привели Дормидонта к выводу, что для начала надо бы перенести праздник ватрушкопечения. Этой идеей он поделился с министром времяисчисления Харитоном, и теперь они обдумывают, как это сделать.

Год в царстве состоит из n дней. Некоторые праздники связаны с фиксированным номером дня, остальные же назначаются министром времяисчисления. Однако для каждого назначаемого праздника известно, после какого праздника он состоится.

Праздник ватрушкопечения назначаемый, и Харитон не против назначить его как можно позже. Однако при это нужно соблюсти следующие условия:

  • во-первых, все запланированные в году праздники должны состояться;
  • во-вторых, никакие два праздника не должны состояться в один день;
  • в-третьих, все назначаемые праздники должны состояться после тех праздников, которые указаны как их предшественники.
Разумеется, праздники, связанные с фиксированным номером дня, переносить нельзя.

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

Входные данные

В первой строке содержатся целые числа n, m и v (1 ≤ m < n ≤ 100000,  1 ≤ v ≤ m) — количество дней в году, общее количество праздников и номер праздника ватрушкопечения в списке праздников.

В каждой из следующих m строк содержатся описания праздников. Каждое описание состоит из символа A или F и целого числа. Символ F означает, что праздник связан с фиксированным номером дня, и целое число в этом случае означает номер дня. Символ A означает, что праздник назначаемый, а целое число в этом случае — номер предшествующего ему праздника.

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

Выходные данные

Выведите единственное целое число — максимально возможный номер дня, на который можно назначить праздник ватрушкопечения.

Примеры
Входные данные
50 14 4
A 2
F 1
F 22
A 5
A 3
A 11
A 4
A 7
F 8
A 11
F 44
A 8
A 3
A 7
Выходные данные
43
B. Сложный процент
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
input.txt
вывод
output.txt

Когда царь Пантелеймон разгневался, увидев валютные курсы, Дормидонт сию же секунду сказал ему, что никакой это не обвал, а плановая поддержка местного производителя. Известно же, какой доход царству приносит такой стратегически важный продукт как сметана.

А тут царь Берендей вероломно построил прямо у границы заводик. Вроде и маленький заводик, а сметаны выпускает столько, что хватает и на всё Берендеево царство, и на ближайших соседей. Сперва в приграничных областях эту сметану распробовали, а потом и по всему царству Пантелеймона она распространилась. Но теперь, когда курс «лисичек», что в Пантелеймоновом царстве хождение имеют, к «косулям», которые в Берендеевом царстве денежными единицами являются, поменялся, сметана местная станет дешевле, да настолько, что все соседние царства в очередь за сметаной выстроятся. А заводик Берендеев прогорит, не выдержит конкуренции.

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

Пантелеймон полагает, что для начала надо увеличить производство сметаны на то количество s, которое Берендеев заводик производит. А чтобы по справедливости всё было, существующим предприятиям квоты раздать — разрешить увеличить производство на одинаковое для всех количество процентов. Вот только одна незадача: в настоящее время для закупок доступен только один тип линий по производству сметаны, рассчитанный на количество q, и изменить это количество никак не получится — технология...

Пантелеймон хочет определить увеличение производства на p процентов таким образом, чтобы в результате производство сметаны возросло на величину, максимально близкую к s по абсолютному значению. При этом предприятие не разрешается увеличивать производство более, чем на p процентов от текущего объема. Ваша задача — определить наиболее подходящее значение p.

Входные данные

В первой строке содержатся целые числа s, q, n (1 ≤ s, q ≤ 105,  1 ≤ n ≤ 10000) — количество сметаны, на которое планируется увеличить производство, количество сметаны, которое производит одна линия, и количество предприятий, производящих сметану.

Во второй строке содержатся n целых чисел m1, m2, ..., mn (1 ≤ mi ≤ 105,  i = 1, 2, ..., n) — текущие объёмы производства сметаны для каждого предприятия.

Выходные данные

В первой строке выведите целое число p — разрешённое увеличение производства в процентах. Если существует несколько ответов, выведите наибольший из них.

Примеры
Входные данные
50 10 5
16 25 8 24 10
Выходные данные
99
C. Отыщи всему начало
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

И всё было бы хорошо, так нет же — министр промышленности Силантий возьми да и скажи, что отчего бы сметане подешеветь, ежели закваску у Берендея и покупаем. И пастеризаторы. И запчасти к ним. А упаковку у короля Сигизмунда. И хорошо, что министр экономики Калистрат начал про перспективы производства упаковки в царстве рассказывать, а то Силантий бы еще много чего перечислил.

Царь Пантелеймон заинтересовался, почему производство упаковки решили организовывать, а не, к примеру, пастеризаторов. Калистрат пояснил, что упаковка не только для сметаны годится. Так что начать решили с производства того продукта, который наибольшее влияние на другие оказывает. А пастеризаторы чуть позже производиться начнут — вот только упаковочный завод построим, так за другие возьмёмся.

Ведомство Калистрата определяет влияние следующим образом. Пусть для каждого продукта известно, какие продукты непосредственно требуются для его производства. Для каких-то из этих продуктов, в свою очередь, также известны те, что требуются для их производства (и т.д.) Также для каждого из продуктов известно, какая сумма потребуется на организацию его производства.

Назовём цепочкой последовательность продуктов, в которой каждый продукт (за исключением последнего) непосредственно используется для производства следующего. Мерой влияния некоторого продукта будем считать максимально возможную длину цепочки, начинающейся с этого продукта. Дело, однако, несколько осложняется тем, что на организацию производства из казны может быть выделена сумма, не превосходящая s. Поэтому придется выбирать наиболее влиятельный продукт в рамках этого бюджета.

Ваша задача — определить этот продукт.

Входные данные

В первой строке содержатся целые числа n и s (1 ≤ n ≤ 105,  1 ≤ s ≤ 109) — количество продуктов и сумма, которую можно потратить.

В каждой из следующих n строк содержится описание очередного продукта (считайте продукты занумерованными в порядке их появления во входном файле). Описание состоит из цены продукта, количества продуктов, которые непосредственно требуются для его производства, и их номеров.

Гарантируется, что если для производства продукта #j прямо или косвенно требуется продукт #k, то для производства продукта #k ни прямо, ни косвенно не требуется продукт #j. Гарантируется также, что общее количество чисел в строках не превосходит 3·105 и что стоимость организации производства по крайней мере одного продукта не превосходит s.

Выходные данные

Выведите единственное число — номер продукта, который является наиболее влиятельным и при этом доступным для организации производства. Если таких продуктов несколько, выведите любой.

Примеры
Входные данные
8 50
35 3 2 5 8
52 2 4 6
22 1 4
68 1 7
54 0
50 3 7 3 5
62 0
18 2 5 2
Выходные данные
3
D. Проблема выбора
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
input.txt
вывод
output.txt

Царь Пантелеймон сильно заводом по производству упаковки заинтересовался. Подробно выспрашивал Калистрата о нём, а потом пожелал увидеть строящиеся цеха. Так что пришлось министру экономики сказать, что нет пока завода — место под него хорошее выбрать надобно. Ведь завод будет всё царство упаковкой снабжать, потому среди всех возможных вариантов размещения надо выбрать тот, в котором расстояние от города, где будет построен завод, до самого отдалённого города царства будет минимальным.

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

Ваша задача — определить, в каком городе следует построить завод.

Входные данные

В первой строке содержатся целые числа n и m (2 ≤ n ≤ 100,  1 ≤ m ≤ 1000) — количество городов и количество связывающих их дорог.

В каждой из следующих m строк содержится три целых числа — описание дороги: номера городов, которые она соединяет, и длина дороги — целое положительное число, не превосходящее 106.

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

Выходные данные

Выведите единственное целое число — номер города, в котором следует разместить завод. Если существует несколько вариантов ответа, выведите любой из них.

Примеры
Входные данные
7 9
5 7 1
4 1 10
2 3 2
6 5 3
3 4 5
7 4 4
1 3 3
5 4 2
3 6 7
Выходные данные
4
E. Пастбище
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
input.txt
вывод
output.txt

Пока завод по производству упаковки ещё только в планах, а уж производство пастеризаторов даже и не запланировано, царь Пантелеймон озаботился: ежели конъюнктура хорошая, может, всё-таки надо прямо сейчас и увеличить производство сметаны да Берендеев заводик победить?

Так опять Силантий влез — для новых линий по производству новые помещения строить надобно. И коров новых заводить. И для новых коров тоже новые помещения строить...

Калистрат, конечно, вмешался: малый бизнес развивать надо. Вот завёл бы каждый житель по корове — и каково хорошо было бы. Участки с травой хоть завтра выделить всем можно — неудобий в царстве полно. И жители молоком бы себя обеспечили, и творогом, и сметаной. И мясом. Главный казначей Ферапонт заметил, что если мясом обеспечат, то молоком может и не получиться, но Калистрат и ухом не повёл, продолжил про индивидуальные хозяйства рассказывать...

Министр экономики предлагает выделить жителям участки площадью x и потребовать полностью их засеять кормовой травой. Будем полагать, что на единице площади всегда растёт ровно одна травинка. На прокорм одной коровы в сутки требуется m единиц длины травы.

В царстве произрастает n видов кормовых трав, и у каждой — своя скорость роста: k1, k2, ..., kn единиц длины в сутки. Стоимость одного семечка (из которого вырастает ровно одна травинка) составляет g1, g2, ..., gn соответственно. Также можно приобрести удобрения (для каждого вида травы — свой вид удобрений), которые могут увеличивать скорость роста травы. Стоимость единицы удобрения, которое нужно внести на единицу площади, чтобы увеличить скорость роста травы на единицу длины, определяется числами u1, u2, ..., un. Наконец, для каждого удобрения известно максимально возможное количество, которое можно внести на единицу площади: v1, v2, ..., vn.

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

Входные данные

В первой строке содержатся целые числа x, m, n (1 ≤ x, m ≤ 100000,  1 ≤ n ≤ 10) — площадь участка, количество травы, необходимое для прокорма коровы, количество видов трав, произрастающих в царстве.

Во второй строке содержится n целых чисел k1, k2, ..., kn (0 ≤ ki ≤ 100,  i = 1, 2, ..., n) — скорости роста разных трав.

В третьей строке содержится n целых чисел g1, g2, ..., gn (0 ≤ gi ≤ 100,  i = 1, 2, ..., n) — стоимости одного семечка.

В четвертой строке содержится n целых чисел u1, u2, ..., un (0 ≤ ui ≤ 100,  i = 1, 2, ..., n) — стоимости удобрений.

В пятой строке содержится n целых чисел v1, v2, ..., vn (0 ≤ vi ≤ 100,  i = 1, 2, ..., n) — максимально возможное количество удобрений, вносимых на единицу площади.

Выходные данные

Выведите целое число — номер вида травы. Если существует несколько ответов, выведите любой. Если не существует ни одного подходящего вида травы, выведите в качестве ответа 0.

Примеры
Входные данные
100 1000 4
4 0 11 7
25 10 34 18
1 2 5 4
15 10 6 2
Выходные данные
2
F. Хорошая замена
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
input.txt
вывод
output.txt

Царь Пантелеймон слушал Калистрата да поддакивал: раньше-то деды сметану делали без всяких новомодных пастеризаторов, и хорошая сметана была! И Дормидонт, министр финансов, идею одобрил: жители и молоком со сметаной себя обеспечат, да ещё налог на землю заплатят. А сметану, что заводы производят, всю на экспорт отправить можно будет.

Один Силантий только усомнился, что жители коров заведут, да сами сметану делать будут. Но у Калистрата ответ наготове: обяжем каждое домохозяйство сдавать сметану в стратегический фонд. Что тогда?

И Силантий не лыком шит: купят жители сухое молоко, что у короля Ганса хорошо делают, да закваску, что в царстве Берендея производится, вот и будет сметана, раз такой оброк на жителей наложен.

Выслушал это Пантелеймон и сказал, что решение простое. Запретить надо чужестранные продукты в царстве, наверняка в них вещества вредные содержатся и гены неправильные. Да и как иначе может быть, если в чужестранных яблоках червяки не водятся? А на возражения Силантия, что в царстве многие продукты не производятся, ответил, что замену найти им проще простого. Надо ли простому народу то же авокадо? — есть же огурцы, тоже зеленые, пупырчатые. А что внутри мякоть белая — так чисто картофель. Семечко внутри — в лесном орехе тоже внутри ядро, поменьше, конечно, но похоже!

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

Ваша задача — по описанию продукта получить разбиение, которое устроит Пантелеймона.

Входные данные

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

Выходные данные

В первой строке выведите целое число s — максимально возможное количество подстрок, не являющихся палиндромами, на которые можно разбить исходную строку.

Во второй строке выведите s подстрок через пробел. Если существует несколько вариантов ответа, выведите любой.

Если разбиение невозможно, выведите в качестве ответа  - 1.

Примеры
Входные данные
abacababaca
Выходные данные
4
ab acaba ba ca
Входные данные
zzwzz
Выходные данные
-1
Входные данные
pq
Выходные данные
1
pq
G. Всё идёт по плану
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
input.txt
вывод
output.txt

Пока Силантий с Калистратом поспорить пытался, главный казначей Ферапонт вычислял что-то. И вычислил: один Береднеев заводик сметаны-то больше производит, чем все местные заводы, вместе взятые.

Разгневался царь Пантелеймон не на шутку: как же так, заводик-то махонький с виду! Пусть министр науки и технологий объяснит! Министр Фалалей тут же успокоил: технологическое отставание сугубо временное, уже запланировано n грантов, в результате которых будут совершены открытия, это отставание ликвидирующие. А по некоторым позициям царство и вовсе окажется на переднем крае науки.

Существует k технологических направлений, которые планируется развивать. Изначально уровень развития каждого из этих k направлений (a1, a2, ..., ak) будем считать равным нулю.

Выделение гранта может повысить уровень развития какого-либо направления на единицу при условии, что текущий уровень развития направления не превосходит уровень гранта (т.е. грант #j может повысить уровень развития направления #i в том случае, если текущее значение ai ≤ gj).

Министерство определило порядок выделения грантов. Очередной грант может быть выделен только тогда, когда завершён предыдущий. По заверениям Фалалея, после выполнения работ по всем грантам технологические направления будут иметь уровни развития не менее b1, b2, ..., bk соответственно.

Ваша задача — сформировать план выделения грантов.

Входные данные

В первой строке содержатся целые числа n и k (1 ≤ n, k ≤ 105) — количество грантов и количество технологических направлений.

Во второй строке содержится n целых чисел g1, g2, ..., gn (1 ≤ gi ≤ 105,  i = 1, 2, ..., n) — уровни грантов в порядке их выделения.

В третьей строке содержится k целых чисел b1, b2, ..., bk (1 ≤ bi ≤ 105,  i = 1, 2, ..., n) — минимально требуемые уровни развития технологических направлений после выполнения работ по всем грантам.

Выходные данные

Выведите в первой строке n чисел t1, t2, ..., tn. Число tj  — номер технологического направления, на которое должен быть выделен грант #j.

Если существует несколько вариантов ответа, выведите любой.

В случае, если сформировать подходящий план невозможно, выведите в первой строке  - 1.

Примеры
Входные данные
10 3
1 1 4 2 3 2 1 8 2 3
3 4 2
Выходные данные
2 2 2 1 2 1 3 1 3 1 
Входные данные
5 1
4 1 1 2 3
5
Выходные данные
-1
H. Важные показатели
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
input.txt
вывод
output.txt

Главный казначей Ферапонт не преминул тут же у министра науки поинтересоваться: неужели открытия по плану-графику совершать можно? Министр науки Фалалей вопросу порадовался: начал хвалиться, какой в его министерстве документ разработали. Чтобы грант получить, надо каждый день работы подробнейше описать, множество показателей рассчитать: и какова площадь, приходящаяся на одного сотрудника, и используются ли энергосберегающие лампы, икакая поддерживается температура в помещении... И про сотрудников тоже многое сообщить нужно: и рост, и вес, и каковы спортивные достижения... А чтобы никаких сомнений в достоверности не было, каждый показатель записывается в бланк непременно от руки и подписью заверяется.

Министерство заранее не объявляет, какие значения показателей нужны для допуска к конкурсу грантов, поэтому научные группы сначала записывают реальные показатели. Когда выясняется, что требуется показатель, больший заявленного, то реальные показатели исправляют: говорят, что при переписывании с черновиков ошиблись. Конечно, не всякую цифру всякой заменить несложно. Ниже для каждой цифры приведён список тех, на которые её можно заменить. Более одного исправления не допускается. Например, нельзя исправить 6 на 9, сначала исправив 6 на 0.

  • 0 — 6, 9
  • 1 — 4, 7
  • 2 — нет возможных исправлений
  • 3 — 8
  • 4 — 9
  • 5 — 6, 8, 9
  • 6 — 0
  • 7 — 1, 4
  • 8 — 2, 3, 5
  • 9 — 0

При исправлении научные группы стремятся минимально изменить реальный показатель, при этом неважно, сколько именно цифр они исправят.

Ваша задача — по заданному числу указать минимально превосходящее его число, которое можно получить путём исправлений.

Входные данные

В первой строке содержится целое положительное число, состоящее из не более чем 100 цифр.

Выходные данные

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

Примеры
Входные данные
917
Выходные данные
941
Входные данные
266
Выходные данные
-1
I. Спор
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
input.txt
вывод
output.txt

Главный казначей Ферапонт чрезвычайно заинтересовался, каким образом, к примеру, спортивные достижения работника могут повлиять на его научные успехи. Министр промышленности Силантий заметил, что никак эти достижения не влияют, впрочем, как и большинство других показателей, что министерство науки видеть желает. И тому есть подтверждения.

Министр науки Фалалей сразу же возразил Силантию, что несколько специальных институтов организовано было, денно и нощно они трудились, чтобы показатели разработать, и продолжают трудиться — совершенствуют стандарты предоставляемой отчётности. Какие еще подтверждения?

На что Силантий ответил, что есть независимые источники, что исследования проводились, и что получились совсем другие результаты. Спором царь Пантелеймон заинтересовался, захотел про независимые источники узнать.

В списке министерства науки n различных показателей. Для каждого из них Силантий либо знает об исследовании, подтверждающем, что показатель не влияет на научную работу, и может на него сослаться, либо не знает. Силантию известно, что царь не будет слушать спор более, чем по m показателям, притом выбранным из списка подряд.

Также Силантий знает, что Фалалей ведёт себя в споре следующим образом. Если Фалалей выигрывает, он не требует, чтобы Силантий привёл ссылку на исследование (конечно, в случае, если Силантий утверждает, что некоторый показатель не влияет на научную деятельность). В противном случае Фалалей настаивает, чтобы Силантий привёл ссылку.

Более формально, если Силантий утверждает, что по данному показателю имеется исследование, то ему может быть начислено очко в двух случаях: когда он может привести ссылку (безотносительно запроса Фалалея) и когда он не может привести ссылку, но Фалалей не попросил её привести. В противном случае очко начисляется Фалалею. Считается, что Силантий переспорил Фалалея, если после обсуждения m показателей он набрал очков больше, чем его оппонент.

Конечно, Силантий не знает, будет ли просить привести ссылки царь. Но он готов рискнуть, чтобы переспорить Фалалея, и говорить, что некоторый показатель не влияет на научную деятельность в том случае, когда Фалалей не попросит приводить ссылку.

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

Входные данные

В первой строке содержатся целые числа n и m (1 ≤ m ≤ n ≤ 1000) — количество показателей в списке и количество показателей, спор по которым готов выслушать царь.

Во второй строке содержится n нулей и единиц. Если на позиции #j стоит 1, то у Силантия имеется ссылка на исследование по показателю #j, если же стоит 0 — то такой ссылки у него нет.

Выходные данные

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

Если победить в споре Силантий не сможет, выведите  - 1.

Примеры
Входные данные
10 5
0101000100
Выходные данные
4
Входные данные
8 5
11000000
Выходные данные
-1
J. Выигрыш
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
input.txt
вывод
output.txt

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

Фалалей рад был тему разговора сменить. Начал рассказывать, что серьёзные разработки по теории игр имеются. В частности, по антагонистическим играм. Да про такие вещи, конечно, на примере лучше рассказать.

Есть клеточное поле, некоторые его клетки считаются запрещёнными. Есть два игрока — для простоты и определённости назовем их Заяц и Волк. Изначально они находятся в разных (не запрещённых) клетках. Игроки ходят по очереди. Игрок может перемещаться из текущей клетки только в клетку, граничащую с текущей по стороне и не являющуюся запрещённой.

Первым ходит Заяц. Заяц может сделать ход в любом направлении или же остаться на месте.

Волк всегда делает ход по кратчайшему пути к текущему положению Зайца. При прочих равных направление движения Волк выбирает в следующем порядке: «влево», «вверх», «вправо», «вниз». Если путь от Волка до Зайца не существует, Волк остаётся на месте.

Волк одерживает победу, если после очередного хода он оказывается в клетке с Зайцем. Заяц одерживает победу, если он продержался k ходов и ещё не пойман.

Ваша задача — сделать как можно больше ходов за Зайца.

Входные данные

В первой строке содержатся целые числа n, m и k (1 ≤ m, n ≤ 1000,  1 ≤ k ≤ 106) — размеры лабиринта и количество ходов, необходимое для победы Зайца.

В следующих n строках содержится по m символов, описывающих игровое поле. Символ «.» означает пустую клетку, символ «X» — запрещённую клетку, символ «H» означает местоположение Зайца, символ «W» — местоположение Волка.

Выходные данные

Выведите в первой строке целое число f — максимально возможное количество ходов, которое можно сделать за Зайца. В случае, если за Зайца можно сделать k или более ходов, f = k.

Примеры
Входные данные
2 1 5
H
W
Выходные данные
1
Входные данные
4 6 5
XX....
..XX.X
H.X...
..X..W
Выходные данные
5
Входные данные
3 5 5
.H...
.XWX.
.X...
Выходные данные
5
K. Архитектурное решение
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
stdin
вывод
stdout

Увлёкшись рассказом Фалалея, царь с министрами свернули на привычную дорожку для прогулки. Первым спохватился министр безопасности Пафнутий: еще несколько сотен метров, и вновь образовавшееся озеро горячей воды не заметить будет невозможно. Министр экономики Калистрат предложил сохранять спокойствие: вдруг царя прогулка уже достаточно утомила, и он повернёт назад. Но если такого не произойдёт, он, Калистрат, уже придумал, что сказать.

Спустя несколько минут царь Пантелеймон смотрел на разлив кипятка и слушал рассказ Калистрата о том, что неожиданно совсем неподалёку от царской резиденции открылся геотермальный источник. Конечно, царю хотели сделать сюрприз, облагородить сначала сей природный фонтан, но не успели. Царь удивился, поскольку за всю летописную историю царства не случалось подобного, но Калистрат объяснил произошедшее тектоническими сдвигами.

Царь Пантелеймон немедленно воодушевился и предложил построить гостиницу как можно ближе к геотермальному источнику. Ну или во всяком случае на этой улице.

Дело, однако, осложняется тем, что на улице некоторые здания являются памятниками архитектуры, и царь не желает их сносить. Более того, он желает, чтобы гостиница не слишком нарушала этажность улицы — т.е. была не более высокой, чем ближайшее к ней здание, являющееся памятником архитектуры. Если два ближайших к гостинице памятника архитектуры окажутся на одинаковом расстоянии от гостиницы, то высота гостиницы ограничивается высотой более высокого из них. При этом царь хочет, чтобы гостиница была максимально вместительной. Ваша задача — определить максимально возможную вместимость гостиницы, которую предлагается вычислять как произведение длины гостиницы на ее высоту.

Входные данные

В первой строке содержится целое число n (1 ≤ n ≤ 100) — количество зданий на улице.

В каждой из следующих n строк содержится по три целых числа si, hi, ai  — длина здания, высота здания, а также признак архитектурной ценности здания: если он установлен равным 1, здание сносить нельзя.

Здания перечислены в порядке их расположения на улице. Гарантируется, что хотя бы одно здание на улице является памятником архитектуры.

Выходные данные

Выведите единственное целое число — максимальную вместимость гостиницы, которую можно построить.

Примеры
Входные данные
10
5 2 0
4 4 1
2 1 1
3 2 0
5 4 0
4 5 0
2 1 1
6 3 0
2 1 0
4 3 1
Выходные данные
24
L. Глобальное мышление
ограничение по времени на тест
2 s
ограничение по памяти на тест
256 MB
ввод
input.txt
вывод
output.txt

Калистрат и Фалалей в два голоса рассказывали, что с геотермальным источником надобно по науке поступить. Провести анализ воды — наверняка же минеральная. Грязь изучить — вдруг лечебная. Почвы рядом — быть может, лучше чуть в сторону сместить фонтан. Да и в других местах исследования провести — нельзя же исключить, что где-то поблизости дремлют и другие геотермальные источники. Конечно, надо институт почвоведения и грязелечения основать. Со всех царств и королевств соседних будут на курорт приезжать.

Силантий, конечно, не смог удержаться, чтобы не сказать, что вся столица царства уже давно может считаться долиной гейзеров. И что неплохо бы трубы поменять, а уж потом институты основывать. Царь был настроен благодушно и ответил лишь, что, вступая в эпоху тектонических сдвигов, надо мыслить глобально. Что к белому золоту — сметане — может чёрное добавиться — грязь лечебная. Впрочем, царь предложил провести среди министров голосование — на что в первую очередь финансирование выделить.

Министры выдвинули три предложения: отремонтировать теплотрассу, построить гостиницу и основать институт почвоведения и грязелечения. Обозначим эти предложения числами 1, 2 и 3 соответственно.

Каждый из n министров записал эти числа в порядке важности (по его мнению) выделения финансирования. Теперь главный казначей Ферапонт подсчитывает поданные голоса следующим образом: за первую позицию два очка, за вторую позицию одно очко и за третью позицию ноль очков.

Ваша задача — определить, сколько очков набирает каждое предложение.

Входные данные

В первой строке содержится целое число n (1 ≤ n ≤ 25) — количество министров.

В каждой из следующих n строк содержатся целые числа 1, 2 и 3, записанные в том порядке, в котором записал их соответствующий министр.

Выходные данные

Выведите три целых числа через пробел: количество очков, которое набрало первое предложение, количество очков, которое набрало второе предложение, и количество очков, которое набрало третье предложение.

Примеры
Входные данные
7
2 3 1
3 2 1
2 1 3
1 3 2
1 2 3
3 1 2
2 1 3
Выходные данные
7 8 6
Входные данные
1
3 1 2
Выходные данные
1 0 2