"""
작성일: 2020-09-06
==============================================================================
문제: 고정점 찾기
고정점이란, 수열의 원소 중에서 그 값이 인덱스와 동일한 원소를 의미한다.
하나의 수열이 N개의 서로 다른 원소를 포함하고 있으며, 모든 원소가 오름차순으로 정렬되어 있다.
이때 이 수열에서 고정점이 있다면, 고정점을 출력하는 프로그램을 작성하라.
만약 고정점이 없다면 -1을 출력하라
==============================================================================
소요 시간: 00분
"""
def binary_search(data, start, end):
    if start > end:
        return None
    mid = (start + end) // 2
    if data[mid] == mid:
        return mid
    elif data[mid] > mid:
        return binary_search(data, start, mid - 1)
    else:
        return binary_search(data, mid + 1, end)

n = int(input())
data = list(map(int, input().split()))

index = binary_search(data, 0, n-1)

if index == None:
    print(-1)
else:
    print(index)

"""
접근법: 이진탐색으로 찾기 
==============================================================================
다른 해결 방식: 다른 해결 방법
==============================================================================
개선점: 개선할 수 있는 부분
==============================================================================
노트: 
"""