Орієнтовні завдання
ІІ (районного) етапу 2012 року


Автор задач — Данило Мисак

1. Петрик П’яточкін рахує склади

Hазва програми: syllable.*

Допитливий київський школяр Петрик П’яточкін якось зацікавився мовознавством — наукою про мову. Для важливого дослідження Петрику потрібно з’ясувати, скільки складів мають назви натуральних чисел (кількісні числівники у називному відмінку), тобто скільки голосних літер вони містять. Допоможіть Петрику, написавши програму, яка дає відповідь на це питання.

Вхідні дані
У вхідному файлі вказано натуральне число n, кількість складів для якого потрібно порахувати. Число n не перевищує 100.

Вихідні дані
Єдиний рядок вихідного файлу має містити кількість складів, які у своїй назві українською мовою має число n.

Приклади

Вхідний файл
syllable.in
Вихідний файл
syllable.out
12
253

Пояснення до прикладів
Слово «один» має два склади (містить дві голосні літери). Назва числа 25 — «двадцять п’ять» — має три склади (містить три голосні літери).

2. Петрик П’яточкін купує книги

Назва програми: books.*

Щоб краще підготуватися до різноманітних олімпіад, у яких бере участь, Петрик П’яточкін замовляє книги у зарубіжному інтернет-магазині. На жаль, Петрику доводиться платити не лише за самі книги, але також і за їх доставку в Україну: незалежно від кількості книг, доставлених хлопцю за один раз, Петрик платить за одну доставку d гривень. Крім того, українська митниця за одну доставку дозволяє безплатно провозити через кордон щонайбільше m книг. Якщо кількість книг перевищує m, митниця бере за кожну понаднормово завезену книгу t гривень мита. Перед олімпіадою з інформатики Петрик хоче купити в інтернет-магазині n книг. Він може замовити доставку всіх книг разом або як завгодно розподілити книги на довільну кількість окремих доставок. Допоможіть хлопцю визначити, яку найменшу загальну суму грошей він повинен витратити на доставки й на мито, щоб перевезти усі n книг в Україну.

Вхідні дані
У єдиному рядку вхідного файлу записані чотири натуральних числа n, d, m, t — відповідно кількість книг, які необхідно перевезти; вартість однієї доставки; найбільша кількість книг, яку можна перевезти без сплати мита; розмір мита за кожну понаднормово завезену книгу. Відомо, що n (d + t) < 2 · 109 і m < 2 · 109.

Вихідні дані
У вихідний файл виведіть єдине натуральне число — найменшу сумарну кількість грошей, яку має сплатити Петрик за доставку і як мито, щоб отримати замовлені в інтернет-магазині книги.

Приклади

Вхідний файл
books.in
Вихідний файл
books.out
5 4 3 68
3 2 2 13

Пояснення до прикладів
У першому прикладі потрібно перевезти 5 книг. Якщо замовити їх однією доставкою, доведеться сплатити 4 грн за доставку і за 5 – 3 = 2 понаднормово завезені книги по 6 грн, усього 16 грн. Якщо ж розподілити книги на дві доставки, наприклад 3 книги на першу і 2 книги на другу, треба буде сплатити 2 · 4 = 8 грн за дві доставки, зате під час жодної з доставок платити за понаднормово завезені книги не доведеться. Три чи більше доставок будуть коштувати явно більше за 8 грн, тому 8 грн — найменша сума, яку доведеться витратити.

У другому прикладі потрібно перевезти 3 книги. Якщо замовити їх однією доставкою, треба буде сплатити 2 + (3 – 2) · 1 = 3 грн. А за дві чи більше доставок доведеться заплатити вже не менше ніж 2 · 2 = 4 грн.

3. Петрик П’яточкін пише олімпіаду

Назва програми: olympiad.*

Прочитавши чимало книжок про алгоритми, Петрик П’яточкін прийшов на районну олімпіаду з інформатики. Перед початком олімпіади з’ясувалося, що багато хто з учасників знає одне одного. Тож організатори вирішили убезпечитися й розсадити всіх учасників по двох кабінетах, де проходить олімпіада, у такий спосіб, щоб жодні два знайомі між собою учасники не сиділи в одному кабінеті. Напишіть програму, яка допоможе організаторам зробити це або повідомить, що розсадити в такий спосіб учасників неможливо.

Вхідні дані
У першому рядку вхідного файлу вказано два натуральних числа n та m — кількість учасників районної олімпіади та кількість пар знайомих учасників, 2 ≤ n ≤ 1000. У кожному з наступних m рядків задано по два числа aj й bj — номери знайомих між собою учасників, 1 ≤ aj < bjn, 1 ≤ jm. Жодна пара номерів aj й bj не зустрічається у вхідному файлі більше ніж один раз. Крім того, вхідні дані гарантують, що є не більше ніж один спосіб розсадити учасників по двох кабінетах, щоб жодні два знайомі не сиділи в одному кабінеті.

Вихідні дані
У першому рядку вихідного файлу виведіть у порядку зростання номери учасників, які мають сидіти в кабінеті разом із учасником під номером 1 (Петриком П’яточкіним) включно із самим числом 1 (Петриком). У другому рядку виведіть у порядку зростання номери учасників, які повинні сидіти в іншому кабінеті.

Якщо жодне розташування учасників не задовольняє умову задачі, в обох рядках виведіть по нулю.

Приклади

Вхідний файл
olympiad.in
Вихідний файл
olympiad.out
5 6
2 5
2 3
1 5
4 5
3 4
1 3
1 2 4
3 5





3 3
1 2
2 3
1 3
0
0


Архів прикладів вхідних і вихідних файлів, згаданих в умовах задач, і відкомпільовану програму перевірки правильної взаємодії з системою тестування можна завантажити, натиснувши тут.