Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

No tag edit access

The problem statement has recently been changed. View the changes.

×
B. Roadside Trees (Simplified Edition)

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputSquirrel 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 *h*_{i}. 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*>*h*_{i + 1}.

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

Input

The first line contains an integer *n* (1 ≤ *n* ≤ 10^{5}) — the number of trees.

Next *n* lines contains the height of trees: *i*-th line contains an integer *h*_{i} (1 ≤ *h*_{i} ≤ 10^{4}) — 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

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/05/2021 11:12:38 (h1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|