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 Ruby (2.3.3) (judge verdict: Runtime Error)

#!/usr/bin/env ruby
# https://atcoder.jp/contests/abc124/submissions/4963013

N, K = gets.split(' ').map(&:to_i)
S = gets.chomp

now = 1
count = 0
nums = []

N.times do |i|
  if S[i] == (0 + now).to_s
    count += 1
  else
    nums.push(count)
    now = 1 - now
    count = 1
  end
end

nums.push(count) if count != 0
nums.push(0) if nums.size.even?

add = 2 * K + 1
# C++ の vector<int> 変数名(要素数) は全部 0 で初期化するらしい
sum = [0]

nums.size.times do |i|
  sum[i + 1] = sum[i] + nums[i]
end

ans = 0

nums.size.times do |i|
  next if i.odd?

  left = i
  right = [i + add, nums.size].min

  tmp = sum[right] - sum[left]
  ans = [tmp, ans].max
end

puts ans