Tomislav has recently discovered that he's completely out of shape. He actually becomes tired while walking down the stairs! One morning he woke up and decided to come in good shape. His favourite sport is cycling, so he decided to ride a tour on the local hills.
The route he is taking is described as a sequence of numbers which represent the height of the road at evenly spaced points of the route, from the beginning to the end of it. Tomislav is interested in the largest segment of the route which goes up the hill he has to ride, according to the information he has. Let's call such a segment a 'climb'. Tomislav is too tired to bother about details, so he will only take into account the height difference of a climb, not its length.
A climb is more strictly defined as a consecutive increasing subsequence of at least two numbers describing the road. The size of the climb is the difference between the last and first number in the subsequence.
For example, let's consider a route described by the following sequence of heights: . Underlined numbers represent two different climbs. The size of the first climb is . The second climb is larger, with size . Points with heights and are not parts of any climb.
Help Tomislav and calculate the largest climb!
Input Specification
The first line of input contains a positive integer , the number of measured points on the route.
The second line of input contains positive integers , the heights of measured points on the route.
Output Specification
The first and only line of output should contain the size of the largest climb. If the route in the input does not contain any climbs, output .
Sample Input 1
5
1 2 1 4 6
Sample Output 1
5
Sample Input 2
8
12 20 1 3 4 4 11 1
Sample Output 2
8
Explanation for Sample Output 2
Climbs are , , and . is not a climb because a sequence of numbers describing a climb has to be strictly increasing.
Sample Input 3
6
10 8 8 6 4 3
Sample Output 3
0
Comments