Squirrel Liss loves nuts. There are n trees (numbered 1 to n from west to east) along a street and there is a delicious nut on the top of each tree. The height of the tree i is hi. Liss wants to eat all nuts.

Now Liss is on the root of the tree with the number 1. In one second Liss can perform one of the following actions:

  * Walk up or down one unit on a tree. 
  * Eat a nut on the top of the current tree. 
  * Jump to the next tree. In this action the height of Liss doesn't change. More formally, when Liss is at height h of the tree i (1 ≤ i ≤ n - 1), she jumps to height h of the tree i + 1. This action can't be performed if h > hi + 1. 



Compute the minimal time (in seconds) required to eat all nuts.

Input

The first line contains an integer n (1 ≤ n ≤ 105) — the number of trees.

Next n lines contains the height of trees: i-th line contains an integer hi (1 ≤ hi ≤ 104) — the height of the tree with the number i.

Output

Print a single integer — the minimal time required to eat all nuts in seconds.

Examples

Input

2
1
2


Output

5


Input

5
2
1
2
1
1


Output

14
/* Harish Anumula  */
import java.util.*;
import java.io.*;
//import java.math.*;

public class MAXEINSTLE
{
    public static void main (String[] args) throws java.lang.Exception
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(new BufferedOutputStream(System.out));
        FastScanner scan = new FastScanner(br);
        Task solver = new Task();
        solver.solve(scan,pw);
        pw.close();
    }
}



class Task{
    public void solve(FastScanner scan , PrintWriter pw) throws java.lang.Exception{
        int n = scan.nextInt();
        int[] arr = new int[n];
        for(int i = 0;i<n;i++){
            arr[i] = scan.nextInt();
        }
        long ans = arr[0];
        int current = arr[0];
        for(int i = 0;i<n-1;i++){
            int heightnow = arr[i];
            int heightnext = arr[i+1];
            ans += heightnow-current;
            ans++;
            current = heightnow;
            int min = Math.min(heightnow, heightnext);
            ans += Math.abs(current-min);
            current = min;
            ans++;
        }
        ans+=1;
        ans+= (arr[n-1]-current);
        pw.println(ans);
    }
}



class FastScanner {

    BufferedReader br;
    StringTokenizer st;

    public FastScanner(BufferedReader br) {
        this.br = br;
    }

    public String nextToken() throws Exception {
        while (st == null || !st.hasMoreTokens()) {
            st = new StringTokenizer(br.readLine());
        }
        return st.nextToken();
    }

    public int nextInt() throws Exception {
        return Integer.parseInt(nextToken());
    }

    public long nextLong() throws Exception {
        return Long.parseLong(nextToken());
    }

    public double nextDouble() throws Exception {
        return Double.parseDouble(nextToken());
    }
    public String nextString() throws Exception {
        return br.readLine();
    }
}