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
import java.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import static java.lang.Math.*;

public class Main implements Runnable{
    
    BufferedReader in;
    PrintWriter out;
    StringTokenizer tok;
    
    void solve( ) throws NumberFormatException, IOException{        
        int n = readInt( );
        int [ ] array = new int [ n ]; 
        for (int i = 0; i < array.length; ++i )
            array[ i ] = readInt( );
        
        int ans = 0;
        for (int i = 0; i < array.length; ++i )         
           if ( i == 0)
                ans += array[ i ] + 1;
            else 
                ans +=  abs( array[ i ] - array[ i - 1 ] ) + 2; 
        System.out.println( ans );  
        
    }
    
    public static void main( String ... args ) throws IOException{      
        new Thread( null, new Main( ), "", 256 * ( 1L << 20 ) ).start( );       
    }
    
    public void run( ) {
        try
        {
            in = new BufferedReader(new InputStreamReader( System.in ) );
            out = new PrintWriter( System.out ); 
            tok = new StringTokenizer( "" );
            solve( );       
            in.close( );
            out.close( );
        } catch ( Throwable e ) {           
            e.printStackTrace( System.err );
            throw new RuntimeException( );
        }       
    }
    
    String readString( ) throws IOException{
        while( !tok.hasMoreElements( ) )
        {
            String line = in.readLine( );
            if ( line == null ) 
                return null;
            tok = new StringTokenizer( line );
        }
        return tok.nextToken( );    
    }
    int readInt( ) throws NumberFormatException, IOException{
        return Integer.parseInt( readString( ) );
    }
}