max를 아끼는 법
Time Limit: 1 SecMemory Limit: 1024 MiB

문제

개의 양의 정수로 이루어진 두 수열 , 가 주어진다. 수열 에 아래 연산을 0회 이상 수행하여 수열 를 만들려고 한다.

  1. 인 두 정수 , 를 고른다.
  2. 연산 직전의 수열 에서 중 최댓값을 이라고 하자.
  3. 모든 에 대해 으로 바꾼다.

가 주어졌을 때, 로 만들기 위해 필요한 연산의 최소 횟수를 구해보자.

입력

첫째 줄에 수열의 길이 이 주어진다. ()

둘째 줄에 수열 의 원소 이 공백으로 구분되어 주어진다. ()

셋째 줄에 수열 의 원소 이 공백으로 구분되어 주어진다. ()

출력

로 만드는 데 필요한 연산의 최소 횟수를 출력한다.

로 만들 수 없다면 -1을 출력한다.

Example Input 1
6
3 1 3 4 5 6
3 4 4 5 6 6
Example Output 1
3
Example Input 2
2
1 1
1 1
Example Output 2
0
Example Input 3
4
4 3 1 2
4 3 1 3
Example Output 3
-1
Example Input 4
4
4 3 1 2
4 1 1 2
Example Output 4
-1
Example Input 5
4
4 3 1 2
3 4 4 4
Example Output 5
-1
Language-Specific Restrictions