Problem:
Score : 100 points

Problem Statement

There are two buttons, one of size A and one of size B.

When you press a button of size X, you get X coins and the size of that button decreases by 1.

You will press a button twice. Here, you can press the same button twice, or press both buttons once.

At most how many coins can you get?

Constraints

All values in input are integers.

3 \leq A, B \leq 20

Input

Input is given from Standard Input in the following format:

A B

Output

Print the maximum number of coins you can get.

Sample Input 1

5 3

Sample Output 1

9

You can get 5 + 4 = 9 coins by pressing the button of size 5 twice, and this is the maximum result.

Sample Input 2

3 4

Sample Output 2

7

Sample Input 3

6 6

Sample Output 3

12

Solution in Kotlin (1.0.0) (judge verdict: Accepted)

import java.util.Scanner

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)
    val a = sc.nextInt()
    val b = sc.nextInt()
    val result = press(0, a, b)
    println(result)
}

private fun press(coin: Int, buttonSizeA: Int, buttonSizeB: Int, pressCount: Int = 0): Int {
    if (pressCount >= 2) {
        return coin
    }
    return when (buttonSizeA > buttonSizeB) {
        true -> press(coin + buttonSizeA, buttonSizeA - 1, buttonSizeB, pressCount + 1)
        false -> press(coin + buttonSizeB, buttonSizeA, buttonSizeB - 1, pressCount + 1)
    }
}