n개의 블록이 한 줄로 세워져 있고, 왼쪽부터 차례로 놓여 있다. 각 블록의 무게는 서로 다른 양의 정수이다.
세워져 있는 블록 하나를 왼쪽이나 오른쪽으로 밀면 그 블록이 넘어진다. 넘어짐은 도미노처럼 민 방향으로 퍼지며, 민 블록보다 가벼운 블록을 연속으로 넘어뜨린다. 민 블록보다 무거운 블록을 만나면(그 무거운 블록은 넘어지지 않고 그대로 서 있다) 또는 이미 넘어진 자리에 도달하면 거기서 멈춘다. 민 블록 자신은 항상 넘어진다.
한 번의 밀기는 서 있는 블록 하나를 한 방향으로 미는 것이다. 모든 블록을 넘어뜨리는 데 필요한 최소 밀기 횟수를 구하여라.
첫 번째 줄에 블록의 개수 n이 주어진다 (1≤n≤106).
두 번째 줄에 왼쪽부터 차례로 각 블록의 무게를 나타내는 서로 다른 정수 n개가 주어지며, 각 값은 1 이상 109 이하이다.
모든 블록을 넘어뜨리는 데 필요한 최소 밀기 횟수를 한 줄에 출력한다.