В клетке \((0, 0)\) 2-мерной решетки стоит робот. Он хочет достичь клетки \((x, y)\). Вот список команд, которые он может выполнять:
- пойти на север из клетки \((i, j)\) в \((i, j + 1)\);
- пойти на восток из клетки \((i, j)\) в \((i + 1, j)\);
- пойти на юг из клетки \((i, j)\) в \((i, j - 1)\);
- пойти на запад из клетки \((i, j)\) в \((i - 1, j)\);
- остаться в клетке \((i, j)\).
Робот хочет достичь клетку \((x, y)\) за как можно меньшее количество команд. Однако, он не может выполнять одну и ту же команду два или более раза подряд.
Какое минимальное количество команд необходимо, чтобы достичь \((x, y)\) из \((0, 0)\)?
Выходные данные
На каждый набор входных данных выведите одно целое число — минимальное необходимое количество команд, чтобы робот достиг \((x, y)\) из \((0, 0)\), если никакую команду нельзя выполнять два или более раза подряд.
Примечание
Объяснение теста из условия:
Мы используем символы N, E, S, W и 0 для обозначения действий «пойти на север», «пойти на восток», «пойти на юг», «пойти на запад» и «остаться на месте», соответственно.
В первом наборе входных данных робот может использовать следующую последовательность команд: NENENENENE.
Во втором наборе входных данных робот может использовать следующую последовательность команд: NENENEN.
В третьем наборе входных данных робот может использовать следующую последовательность команд: ESENENE0ENESE.
В четвертом наборе входных данных роботу не нужно никуда идти.
В пятом наборе входных данных робот может использовать следующую последовательность команд: E0E.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 5 5 3 4 7 1 0 0 2 0
|
10
7
13
0
3
|