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 Go (1.6) (judge verdict: Accepted)

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func readLine(sc *bufio.Scanner) string {
	sc.Scan()
	return sc.Text()
}

func strToInts(str string) []int {
	var res []int
	for _, s := range strings.Split(str, " ") {
		n, _ := strconv.Atoi(s)
		res = append(res, n)
	}
	return res
}

func main() {
	sc := bufio.NewScanner(os.Stdin)

	line1 := strToInts(readLine(sc))
	a, b := line1[0], line1[1]

	cnt := 0
	for i := 0; i < 2; i++ {
		if a >= b {
			cnt += a
			a--
		} else {
			cnt += b
			b--
		}
	}
	fmt.Println(cnt)
}