Вітаю Вас, Гість

Задача А. "Перетворення рядка"

   Маленька Катруся навчається у першому класі і вже вивчає англійську мову. Але вивчила вона всього три букви – a, b, c. Їх вона і писала в один рядок. Але потім цей рядок Катрусі не сподобався, і захотіла вона зробити всі букви однаковими. Яку найменшу кількість букв потрібно замінити в рядку Катрусі, щоб всі букви стали однаковими?

   Вхідні дані:
   У першому рядку вхідного потоку задано ціле число n (1≤n≤106) – кількість символів у рядку. У другому рядку містяться символи.

   Вихідні дані:
   Вивести найменшу кількість змін, які потрібно виконати, щоб всі символи рядка стали однаковими.

   Приклади

Вхідні дані   Вихідні дані
10
bacaabacab
5
 

 

Задача В. "Сума цифр"

   Маленька Катруся на уроці математики вивчає додавання чисел. Сподобалося їй додавати цифри у числі, отримувати нове число, а потім повторювати все для нового числа. І стало цікаво Катрусі, скільки разів треба повторити додавання цифр у кожному числі, щоб у кінці отримати одноцифрове число. Вона з’ясовує це дослідним шляхом, а ви напишіть програму, яка розрахує цю кількість.

   Вхідні дані:
   В першому рядку вхідного потоку задано ціле число n (0≤n≤10100000).  Число не може починатись з нуля.

   Вихідні дані:
   Вивести, скільки разів потрібно замінити задане число на суму його цифр, щоб отримати одноцифрове число.

   Приклади

Вхідні дані   Вихідні дані
1 0
12 1
856 3

 

   Задача С. "Колода карт"

   Майже всі діти, які вчаться в середній школі, грали у карти. І наш Василь не є винятком. Але, на жаль, він не вміє добре перемішувати гральні карти. А це - одне із головних завдань у будь-якій грі в карти. Тому він придумав свій спосіб перемішування карт, який назвав “направо-наліво”.
   Спочатку Василь бере  верхню карту в колоді і  кладе її в “правий” стовпчик. Після цього він бере наступну карту і кладе її в “лівий” стовпчик. Коли всі карти вже закінчились, він кладе “лівий” стовпчик карт на “правий”. Але, на превеликий жаль, одного такого перемішування не вистачає. Тому він повторює своє перемішування “направо-наліво” k разів.
   Крім того, колода карт Василя особлива, бо  має n карт, кожна з яких пронумерована від 1 до n.
   Після того, як він перемішав колоду карт, він захотів перевірити, чи вірно він усе зробив. Тому Василь просить вас, як найкращого програміста школи, в якій Ви навчаєтесь, сказати, якою буде колода після всіх цих перемішувань.

   Вхідні дані:
  У стандартному вхідному потоці задані числа n і k (1⩽ n ⩽ 50000, 1 ⩽ k ⩽ 1012 — кількість карт і перемішувань відповідно).
З наступного рядка задано n чисел, кожне з нового рядка — послідовність номерів карт у  колоді до перемішування.

   Вихідні дані:
   У стандартний вихідний потік потрібно вивести послідовність номерів карт в колоді після всіх перемішувань.

   Приклади

Вхідні дані   Вихідні дані
12 14
2
7
12
4
6
11
8
1
10
5
9
3
2
11
9
6
5
4
10
12
1
7
8
3

 


Задача D. "Дивна Фібоначчі"

   Одного разу всім відомий Василь під час проходження  теми з математитки «Дроби. Операції з дробами»  почав виписувати всі спрощені дроби. Через те, що Василь зараз у п’ятому класі, він ще не знав, що чисел є безліч і що існують від’ємні числа. Тому він виписував тільки додатні дроби, в чисельнику і знаменнику яких використовуються додатні числа до k.
   Після того, як Василь виписав всі дроби, він захотів перевірити, чи не забув він чогось. Саме тому він пішов до найкращої, на його думку, вчительки  математики – Марини Альбертівни. Вона, дивлячись на листок, який  приніс Василь, згадала про трохи змінену послідовність Фібоначчі.
   У простому Фібоначчі беруть перше і друге число, після чого їх суму розташовують у кінці послідовності. Потім беруть друге і третє число і виконують таку ж операцію. Але вона згадала: якщо взяти другий доданок і поставити його після суми, тоді вийде цікава послідовність -  «Дивна Фібоначчі», яка має  особливість: якщо взяти попарно всі сусідні числа послідовності і записувати  їх у вигляді дробу, перше число якого записувати у чисельник, а друге – у знаменник, то отримаємо послідовність спрощених дробів. Дивлячись на кількість дробів, які написав Василь, Марина Альбертівна просить у вас  допомоги.

   Вхідні дані:
   У стандартному вхідному потоці задане число k ( 1 ⩽ k ⩽ 1000) — максимальне число,  яке знає Василь.

   Вихідні дані:
   У стандартний вихідний потік потрібно вивести всі дроби, які можна скласти, використовуючи числа до k включно в такому порядку, в якому вони є в даній послідовності.

   Приклади

Вхідні дані   Вихідні дані
4 1/1 1/2 2/1 1/3 3/2 2/3 3/1 1/4 4/3 3/4 4/1

   Пояснення послідовності «Дивна Фібоначчі»
   Як і у Фібоначчі, послідовність починається двома одиницями. Потім ми додаємо їх і отримуємо два. Тепер виникає послідовність 1 1 2. Після цього ми беремо другий доданок і ставимо після суми. Виходить 1 1 2 1. Тепер беремо друге і третє число – 1 і 2, і робимо таку ж  операцію. Якщо повторити це декілька разів, отримаємо послідовність 1 1 2 1 3 2 3 1 …

 

Задача E. "Метріксополія"

   Президент країни “Метріксополія” любить грати в тетріс, і тому все, що відбувається в країні, якось пов’язано з цією грою. Президент країни захотів побудувати нові міста. Кожне місто в Метріксополії двовимірне, як поле тетрісу. Також всі кімнати в цій країні виглядають, як базові блоки тетрісу. І, як не дивно, будівлі будуються за допомогою скидання блоків-кімнат.
   Але президент країни хоче, щоб кожне місто було гарним, тому він просить вас показати, як місто буде виглядати після того, коли воно буде побудоване. Для того, щоб побудувати місто, по черзі скидають певні задані базові блоки на певні місця. Базові блоки мають задану форму, що складається з точок і символів “#”, де точка — порожнє місце, а символ “#” — кімната 3 на 3 метри. Всі кімнати дуже добре прикріплені одна до одної. Також в Метріксополії працюють всі правила фізики, тому кімнати падають донизу. Вітру в цій країні немає, тому базові блоки падають на точно вказане місце.
   Вам дані базові блоки, пронумеровані від 1 до k. Також вам задані точні місця, куди їх будуть скидати, причому один і той самий базовий блок може скидатись декілька разів. Потрібно намалювати розташування кімнат після побудови міста.

   Вхідні дані:
   В першому рядку стандартного вхідного потоку задані числа w і h (1≤w,h≤3000)  - ширина і висота результуючого поля.
   В другому рядку задано число k (1≤k≤100) - кількість базових блоків.
   Після цього задаються k  базових блоків в певному форматі: перший рядок містить розміри базового блоку wi і hi (1≤w,h≤50)  далі задано h рядків по w символів в кожному. Дозволеними символам є лише точка і символ “#”. Номером блока є його порядковий номер.
   В наступному рядку задане число n (1≤n≤10000) - кількість скинутих блоків. В наступних n рядках задано kj  - номер блока, який скидається, X1 і X2 – координати, на які скинувся блок. Гарантується, що різниця між X1 і X2 дорівнює wkj-1

   Вихідні дані:
   У стандартний вихідний потік необхідно вивести результуюче поле.

   Приклади

Вхідні дані   Вихідні дані
5 5
2
2 2
.#
##
4 3
####
#.#.
#.#.
2
1 1 2
2 2 5
.####
.#.#.
.#.#.
.#...
##...









 
8 4
3
2 2
.#
##
3 3
#.#
#.#
#.#
3 2
.#.
###
5
1 1 2
2 6 8
3 3 5
2 1 3
2 5 7
#.#.#.#.
#.#.####
########
######.#