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 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>
int main(){
    char S[100001];
    scanf("%s",S);
    int cnt=0;
    int cnt_m=0;
    if(S[0]==1){
        //1で始まって101010となる場合
        for(int i=1; i<10001; i++){ 
            if(S[i]=='\0'){
                break;
            }else if((i%2==0&&S[i]=='0')||(i%2==1&&S[i]!='0')){
                cnt++;
            }
        }
    }else{
        //0で始まって010101となる場合
        for(int i=1; i<10000; i++){
            if(S[i]=='\0'){
                break;
            }else if((i%2==0&&S[i]!='0')||(i%2==1&&S[i]=='0')){
                cnt++;
            }
        }
    }
    cnt_m=cnt;

    if(S[0]==1){
        //1で始まって010101となる場合
        cnt=1;
        for(int i=1; i<10001; i++){
            if(S[i]=='\0'){
                break;
            }else if((i%2==0&&S[i]!='0')||(i%2==1&&S[i]=='0')){
                cnt++;
            }
        }
    }else{
        //0で始まって101010となる場合
        cnt=1;
        for(int i=1; i<10001; i++){
            if(S[i]=='\0'){
                break;
            }else if((i%2==0&&S[i]=='0')||(i%2==1&&S[i]!='0')){
                cnt++;
            }
        }
    }
    if(cnt_m>cnt){
        cnt_m=cnt;
    }
    printf("%d\n",cnt_m);
    return 0;
}