spoj#DIFERENC. DIFERENCIJA

DIFERENCIJA

 

Mirko discovered what Slavko did in previous task, and decided to deal with something completely
opposite to tables of letters: sequences of numbers.
Let’s define a value of a sequence as the difference between the largest and the smallest number within
that sequence. For example, value of sequence (3, 1, 7, 2) is 6, and value of (42, 42) is 0.
Find the sum of values of all subsequences of consecutive elements of a given sequence.
INPUT
The first line of input contains a single integer N (2 ≤ N ≤ 300 000), number of elements of the
sequence.
Next N lines contain elements of the sequence. Each element is a positive integer not greater than 100
000 000.
OUTPUT
The first and only line of output must contain the requested sum.
EXAMPLE TEST DATA
input
3
1
2
3
input
4
7
5
7
5
input
4
3
1
7
2
output
4
output
12
output
31

 

Mirko discovered what Slavko did in previous task, and decided to deal with something completely opposite to tables of letters: sequences of numbers.

Let’s define a value of a sequence as the difference between the largest and the smallest number within that sequence. For example, value of sequence (3, 1, 7, 2) is 6, and value of (42, 42) is 0.

Find the sum of values of all subsequences of consecutive elements of a given sequence.

INPUT

The first line of input contains a single integer N (2 ≤ N ≤ 300 000), number of elements of the sequence.

Next N lines contain elements of the sequence. Each element is a positive integer not greater than 100 000 000.

OUTPUT

The first and only line of output must contain the requested sum.

EXAMPLE TEST DATA

input

3

1

2

3

 

output

4

 

input

4

7

5

7

5

 

output

12

 

input

4

3

1

7

2

output

31