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 C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

public class ABC0124_A1 {
    public static readonly int NumOfTimesToPush = 2;

    private static void Main(string[] args) {
        string input = Console.ReadLine().Trim();
        ConvertInput(input);
    }

    private static void ConvertInput(string input) {
        var inputs = input.Split(' ').ToList();
        var numbers = ConvertListToInt(inputs);
        Solve(numbers);
    }
  
    private static void Solve(List<int> numbers) {
        var numOfCoins = 0;

        for (int i = 0; i < NumOfTimesToPush; i++) {
            numbers = numbers
                .OrderByDescending(n => n)
                .ToList();

            numOfCoins += numbers[0];
            numbers[0]--;
        }

        OutputAnswer(numOfCoins.ToString());
    }

    private static List<int> ConvertListToInt(List<string> texts) => texts.Select(x => int.Parse(x)).ToList();
    private static void OutputAnswer(string text) => Console.WriteLine(text);
}