반려동물 준세

시간 제한1초메모리 제한1024 MB

문제

오늘도 준세는 문제를 만드는 중이다. 이미 반려당한 문제를 보며 준세는 미련을 버리지 못하고 있다. 준세의 문제는 다음과 같다.

  • 정수로 이루어진 배열 $A_1,A_2,\ldots ,A_N$이 주어진다.
  • 각 $B_i$는 $A_{i+1},A_{i+2},\ldots ,A_N$ 중 $A_i$보다 큰 원소의 개수로 정의된다.
  • $B_1,B_2,\ldots ,B_N$을 구하여 출력한다.

준세는 위 문제를 올바르게 해결하는 프로그램을 작성하였다. 그리고 입력과 출력 모두 같은 개수의 정수로 이루어진 배열이라는 사실을 알게 되었다.

따라서 준세는 주어지는 배열 $a_1,a_2,\ldots ,a_n$을 이용해 프로그램을 여러 번 실행시키며 놀 것이다.

구체적으로, 준세는 다음 과정을 반복한다.

  • 프로그램에 입력으로 $a_1,a_2,\ldots ,a_n$을 넣고 실행하여 출력으로 $b_1,b_2,\ldots ,b_n$을 얻는다.
  • 모든 $i$에 대해 $a_i=b_i$라면 과정의 반복을 중단하고 자러 간다.
  • 그렇지 않다면, 모든 $i$에 대해 $a_i$의 값을 $b_i$로 수정한다.

준세는 언제 잠들 수 있을까?

입력

첫 번째 줄에는 주어지는 배열의 길이 $n$이 주어진다.

두 번째 줄에는 주어지는 배열을 나타내는 $n$개의 정수 $a_1,a_2,\ldots ,a_n$이 공백으로 구분되어 주어진다.

출력

준세가 프로그램을 실행한 횟수를 출력한다.

준세가 과정을 무한히 많이 반복하더라도 자러 갈 수 없다면, -1을 출력한다.

제한

  • $1≤n≤200$.
  • $-10^{9}\le a_i\le 10^{9}$.

힌트

실제로 준세는 $10$번 정도 문제를 반려 당했습니다.