In a flower bed, there are N flowers, numbered 1,2,......,N. Initially, the heights of all flowers are 0. You are given a sequence h=\\{h_1,h_2,h_3,......\\} as input. You would like to change the height of Flower k to h_k for all k (1 \leq k \leq N), by repeating the following "watering" operation:

* Specify integers l and r. Increase the height of Flower x by 1 for all x such that l \leq x \leq r.



Find the minimum number of watering operations required to satisfy the condition.

Constraints

* 1 \leq N \leq 100
* 0 \leq h_i \leq 100
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


N
h_1 h_2 h_3 ...... h_N


Output

Print the minimum number of watering operations required to satisfy the condition.

Examples

Input

4
1 2 2 1


Output

2


Input

5
3 1 2 3 1


Output

5


Input

8
4 23 75 0 23 96 50 100


Output

221

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    void run() {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] h = new int[n];
        for (int i = 0; i < n; i++) h[i] = sc.nextInt();
        int cnt = 0;
        for (;!end(h); cnt++) {
            int l = 0, r = n;
            for (int j = 0; j < n; j++) if (h[j] > 0) {
                l = j;
                break;
            }
            for (int j = l + 1; j < n; j++) if (h[j] == 0) {
                r = j;
                break;
            }
            for (int j = l; j < r; j++) h[j]--;
//            debug(h);
        }

        System.out.println(cnt);
    }

    boolean end(int[] h) {
        return Arrays.stream(h).sum() == 0;
    }

    void debug(Object... os) {
        System.err.println(Arrays.deepToString(os));
    }


    public static void main(String[] args) {
        new Main().run();
    }
}
