#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lint; #define rep(i, n) for (lint i = 0; i < n; i++) #define sort(v) sort((v).begin(), (v).end()) #define reverse(v) reverse((v).begin(), (v).end()) #define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge) #define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge) #define mp make_pair #define IP pair #define enld endl int main() { lint N; cin >> N; vectorA(N); rep(i, N) { cin >> A[i]; } vectorB; rep(i, N) { if (i == 0) { B.push_back(A[i]); } else { if (B.back() == A[i]) { } else { B.push_back(A[i]); } } } bool flag = true; if (B.back() == B.front()) { B.pop_back(); flag = false; } setS; rep(i, B.size()) { S.insert(B[i]); } if (S.size() == B.size()) { if (flag == false) { cout << 1 << enld; } else { cout << 0 << enld; } } else { cout << -1 << enld; } }