Time limit: 2.0s / Memory limit: 64M

Бали: 100

Орест є успiшним львiвським бiзнесменом. Вiн щорiчно одноразово фiнансує молодих розроб- никiв програмного забезпечення, якi починають працювати над новими проектами. Цього року вiн вирiшив розподiлити ~K~ гривень на ~N~ проектiв таким чином, щоб кожен проект отримав хоча б одну гривню i при цьому всi проекти отримали рiзну суму грошей. Вважаємо, шо це завжди буде можливим при наших вхiдних даних.

Напишiть програму, яка за заданим ~N~ i ~K~ знайде один можливий розподiл коштiв мiж всiма проектами.

Формат вхідних даних

Перший рядок мiстить натуральне число ~K~ (100 ⩽ ~K~ ⩽ 1000000) - сума коштiв у гривнях.

Другий рядок мiстить натуральне число ~N~ (1 ⩽ ~N~ ⩽ 100) - кiлькiсть проектiв молодих розробникiв.

Формат вихідних даних

В окремих N рядках вивести суми, якi можуть бути розподiленими мiж проектами

Приклад вхідних даних

100 
5

Приклад вихідних даних

10
30 
20 
5 
35

Time limit: 2.0s / Memory limit: 64M

Бали: 100

Назар любить математичнi головоломки. Сьогоднi вiн розмiстив на одному аркушi у рiзних рядках два лiнiйнi масиви (вектори), кожен з ~N~ елементiв. Елемент - це або натуральне число, або змiнна, що складається з послiдовностi малих лiтер англiйського алфавiту. Змiнна може бути замiнена довiльним цiлим числом. Можливо, що обидва вектори мiстять одну i ту ж змiнну або одну i ту ж змiнну, що повторюється декiлька разiв у векторах. Змiнна може бути замiнена на будь- яке число в кожному своєму входженнi у вектор.

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

Формат вхідних даних

Перший рядок мiстить натуральне число ~N~ (1 ⩽ ~N~ ⩽ 50000) - кiлькiсть елементiв у кожному векторi.

Другий рядок мiстить ~N~ елементiв першого вектора.

Третiй рядок мiстить ~N~ елементiв другого вектора.

Кожен елемент в обох векторах може бути:

  • додатним цiлим числом меншим 1000;

  • послiдовнiстю малих лiтер англiйського алфавiту (не бiльше 10 символiв), що описують змiнну.

Формат вихідних даних

Якщо можна замiнити всi змiннi цiлими значеннями таким чином, щоб два вектори стали рiвними, то слiд вивести Yes. В iншому випадку вивести No.

Приклад вхідних даних

3 
3 1 2 
3 1 x

Приклад вихідних даних

Yes

Time limit: 2.0s / Memory limit: 64M

Бали: 100

Витративши значну частину своїх коштiв на рiзнi проекти, Орест вирiшив органiзувати для своїх програмiстiв якiсне взуття. Справа в тому, що Орест знайшов у себе на складi залишок вiд продажу черевикiв. Є проблема: в наявностi виявилося ~N~ лiвих черевикiв та ~M~ правих. Зрозумiло, що в наявностi є рiзнi розмiри взуття i не завжди є можливiсть пiдiбрати пари взуття одного розмiру. Тепер Орест пробує обʼєднати пари так, щоб максимальна похибка мiж розмiрами лiвого та правого черевика була мiнiмальна пiсля того, як всi черевики будуть спарованi.

Складiть програму, яка зможе визначити цю похибку.

Формат вхiдних даних

Перший рядок мiстить два натуральних числа ~N~ i ~M~ (~1 \le N, M \le 100000~) - кiлькiсть лiвих та правих черевикiв.

Другий рядок мiстить ~N~ цiлих чисел ~L_i~ (~1 \le L_i \le 10^9~) - розмiри лiвих черевикiв.

У третьому рядку мiститься ~M~ цiлих чисел ~R_i~ (~1 \le R_i \le 10^9~) - розмiри правих черевикiв.

Формат вихiдних даних

Виведiть мiнiмальну похибку мiж усiма можливими парами взуття.

Приклад вхідних даних

4 3
2 39 41 45 
39 42 46

Приклад вихідних даних

1

Time limit: 2.0s / Memory limit: 64M

Бали: 100

Назар фермер у третьому поколiннi i вiн дуже вiдповiдально ставиться до землi та всього, що там може рости. Зараз Назар вибирає землю для посадки полуниць. Земля Назара може бути описана як матриця з ~N~ рядкiв i ~M~ стовпцiв. Деякi поля в матрицi придатнi для посадки полуниць, а деякi - нi, там буйно ростуть бурʼяни.

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

Допоможiть Назару обчислити суму потенцiйних значень його полiв.

Формат вхiдних даних

Перший рядок мiстить два натуральних числа ~N~ i ~M~ (~1 \le N, M \le 2000~) - розмiри землi.

Наступнi ~N~ рядкiв мiстять по ~M~ символiв, кожен з яких представляє ландшафт. Кожен символ може бути або ʼ.ʼ (точка), який позначає поле, придатне для посадки полуниць, або #, який вказує на дiлянку з бурʼянами.

Формат вихiдних даних

Вивести суму всiх потенцiйних значень полiв землi Назара.

Зауваження

Дана таблиця описує потенцiйнi значення полiв. Сума всiх потенцiйних значень дорiвнює 8.

2 0 1
3 2 0

Приклад вхідних даних

2 3
.#. 
..#

Приклад вихідних даних

8

Time limit: 2.0s / Memory limit: 64M

Бали: 100

Бджiлка Майя запилює квiти на чарiвному лузi. Луг представлений у виглядi матрицi ~N \times M~. У ~i~-му рядку i ~j~-му стовпцi є ~C_{i,j}~ не запилених квiток. Майя почне свою подорож з вулика, який знаходиться на перетинi рядка i стовпця . Бджiлка може зробити ~K~ крокiв з поверненням до свого вулика. Кроки Майя може робити у наступних напрямках: лiворуч, праворуч, вгору або вниз на одну клiтинку. Майя нiколи не покидає луг. Кожного разу, коли вона пролiтає над клiтинкою, вона запилює всi квiти, якi ростуть в межах клiтинки. Але цей луг чарiвний! Як тiльки Мая вилiтає з клiтинки (~A,B~), всi запиленi квiтки зникають, i на цьому мiсцi виростуть новi, не запиленi квiти.

Знайдiть максимальну кiлькiсть квiтiв, якi Майя зможе запилити, якщо вона зробить рiвно K крокiв i закiнчить свою подорож у своєму вулику?

Формат вхiдних даних

Перший рядок вхiдного потоку мiстить натуральнi числа ~N, M~ (~2 \le N , M \le 100~), ~A~ (~1 \le A \le N~ ), ~B~ (~1 \le B \le M~) i ~K~ (~2 \le K \le 10^9~).

Далi мiститься ~N~ рядкiв, кожен з яких мiстить ~M~ цiлих чисел, що описують кiлькiсть квiтiв ~C_{i,j}~ (~0 \le C_{i,j} \le 10^9~), розташованих у клiтинцi (~i, j~). У клiтинцi, яка мiстить вулик, немає квiтiв.

Формат вихiдних даних

Виведiть одне число - вiдповiдь на поставлене завдання.

Зауваження

Рухаємося так: (2,2)-(2,3)-(3,3)-(3,2)-(3,3)-(2,3)-(2,2). У двох клiтинках Майя запилила квiти, якi виросли повторно.

Приклад вхідних даних

3 3 2 2 6
5 1 0
1 0 3
1 3 3

Приклад вихідних даних

15