#include<bits/stdc++.h>
using namespace std;

vector<int> f(vector<int> v){
  vector<int> res;
  for(int i=0;i<v.size();i++)
    if(v[i]>0)
      res.push_back(v[i]);
  return res;
}

bool check(vector<int> v){
  for(int i=0;i<v.size();i++)
    if(v[i]!=i+1)return false;
  return true;
}

int main(){
  int n;
  while(cin>>n, n){
    vector<int> v;

    v.clear();
    for(int i=0;i<n;++i){
      int x;
      cin>>x;
      v.push_back(x);
    }
    int ans=0,cnt=0;

    while( !check(v) ){

      ans++;
      if(ans>10000){
        ans=-1;
        break;
      }

      int size=v.size();
      for(int i=0;i<size;++i){
          v[i]--;
      }
      
      v.push_back( size );

      v=f(v);
    }
    
    cout<<ans<<endl;
  }
  return 0;
}