import java.util.*;
import static java.lang.System.*;
 
public class Main{
  public static void main(String[] args){//方針としては、階乗求めてからその階乗分あるルートを全部求めて足して、それを階乗の数値で割る
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();//配列の数
    int[] a = new int[N];
    int jun = 1;
    int stopper = 0;
    int kosu = 0;
    for (int i = 0; i < N; i++) {
      a[i] = sc.nextInt();
    }
    for (int i = 0; i < N; i++) {
      for (int j = 0; i < N; i++) {
        if (a[stopper + i] == jun) {
          kosu += 1;
          stopper = j;
          jun+=1;
          break;
        }
      }
    }
    if (kosu != 0) {
      out.print(N - kosu);
    } else {
      out.print("-1");
    }




  }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz