#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int main() { int n; cin>>n; int a[100010]; vector v[100010]; for(int i=0; i>a[i]; a[i]--; v[a[i]].push_back(i); } int s[100010]={}, t=0; for(int i=0; i1){ c++; } } if(c>1 || (c==1 && (v[i][0]!=0 || v[i].back()!=n-1))){ cout<<-1<1){ s[v[i][j]+1]++; s[v[i][j+1]+1]--; break; } } }else{ s[0]++; s[v[i][0]+1]--; s[v[i].back()+1]++; } } for(int i=1; i<=n; i++) s[i]+=s[i-1]; if(s[0]==t){ cout<<0<