Шахова Дошка
Обмеження: 2 сек., 512 МіБ
Є шахова дошка \(n \times m\) (n рядків і m стовпців). Верхня ліва клітинка дошки має білий колір, і в ній стоїть Зеник.
Зеник хоче дістатися з верхнього лівого кута у нижній правий, проте Зеник може рухатися лише по білих клітинках. Спочатку Зеник може вибрати якісь рядки та змінити кольори всіх клітинок у вибраних рядках на протилежні. Після того він може вибрати якісь стовпці та змінити кольори всіх клітинок у вибраних стовпцях на протилежні.
Наприклад, якщо Зеник застосує дану операцію до третього рядка, це виглядатиме так:
Зауважте, що оскільки Зеник рухається лише по білих клітинках, після його операцій верхня ліва клітинка має залишатися білою. Яку мінімальну кількість рядків та стовпців треба вибрати Зенику, щоб дійти до нижнього правого кута?
Вхідні дані
У першому рядку задано два цілих числа n та m — висоту та ширину шахової дошки.
Вихідні дані
Виведіть ціле число — мінімальну кількість рядків і стовпців які потрібно змінити щоб дійти до нижньої правої клітинки.
Обмеження
\(1 \le n, m \le 10^9\).
Оцінювання складається з таких блоків:
по 1 балу за кожен приклад з умови,
40 балів: \(n = 1\),
58 балів: без додаткових обмежень.
Бали за блок ви отримаєте, тільки якщо ваша програма пройде всі тести з блоку.
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 1 5 | 2 |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 3 3 | 2 |
Примітки
В першому прикладі Зеник може вибрати другий те червертий стовпці.
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|