Турнір вихідного дня у квітні 3

Time limit: 1.0s / Memory limit: 64M

Бали: 20

Петрик сконструював лічильник: якщо на його вхід подати ~{+}~, то значення лічильника збільшиться на 1, а якщо подати ~{-}~, то зменшиться на 1.

Знайдіть покази лічильника Петрика, якщо на вхід подати рядок ~S~, що містить лише знаки ~{+}~ або ~{-}~. Початкові покази лічильника рівні 0.

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

Вхідний потік містить рядок ~S~ довжиною не більше 100 символів.

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

У вихідний потік вивести покази лічильника Петрика

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

+-++

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

2

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

----

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

-4

Time limit: 1.0s / Memory limit: 64M

Бали: 30

Нехай функція ~S(n)~ повертає суму цифр числа ~n~.

Чи ділиться ~n~ на ~S(n)~?

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

Вхідний потік містить ціле число ~n~ ~(1 \le n \le 10^9)~

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

Виведіть ~Yes~ або ~No~ - відповідь на поставлене запитання.

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

12

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

Yes

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

101

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

No

Time limit: 1.0s / Memory limit: 64M

Бали: 50

Задається послідовність цілих чисел довжиною ~N~: ~A_1, A_2, . . ., A_N~. Ця послідовність є перестановкою чисел ~1, 2, . . ., N~.

Над послідовністю дозволяється виконувати таку операцію:

  • вибрати ~К~ послідовних елементів. Потім замінити значення кожного вибраного елемента на мінімальне значення серед вибраних.

Необхідно всі елементи послідовності зробити рівними. Знайдіть мінімальну кількість необхідних операцій. Гарантується, що це завжди можна зробити при заданих обмеженнях.

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

Перший рядок вхідного потоку містить цілі числа ~N, K~ ~(2 \le K \le N \le 10^5)~.

Другий рядок містить послідовність ~A_1, A_2, . . ., A_N~. Числа розділяються пропуском.

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

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

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

4 3
2 3 1 4

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

2

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

3 3
1 2 3

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

1