На столе лежит шахматная доска, в которой n строк и m столбцов. Слон может ходить по диагонали на любое количество клеток. Пустая клетка находится «под боем», если какой‑либо из слонов на доске может одним ходом перейти на эту клетку. На доске в четырёх углах стоят четыре слона. Сколько клеток находится «под боем»?
Формат входных данных
В первой строке содержится количество строк шахматной доски nn, во второй столбцов mm (2≤n, m≤108).
Формат выходных данных
В единственной строке выведите целое число количество клеток, находящихся «под боем».
Система оценки
Решения, правильно работающие при nn, m≤500, будут оцениваться в 52 балла.
Замечание
Ввод
2
4
2
2
4
7
Вывод
4
0
10
Ответ
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <random>
using namespace std;
int main() {
int n, m; cin >> n >> m;
if (n > m) swap(n, m);
if (n == m) cout << 2 * n — n % 2 — — 4; else {
int ans = 4 * (n — 1);
if (n % 2) ans -= 2;
if (m % 2 && 2 * n — 1 >= m) ans -= 2;
cout << ans;
}