#include int ri() { int n; scanf("%d", &n); return n; } // should be TLE int main() { int n = ri(); int a[n]; for (auto &i : a) i = ri() - 1; int res = -1; for (int i = 0; i < n; i++) { int used[n]; memset(used, 0, sizeof(used)); bool ok = true; for (int j = 0; j < n; j++) { if (j && a[j] == a[j - 1]) continue; if (used[a[j]]) { ok = false; break; } used[a[j]] = true; } if (ok) { res = !!i; break; } std::rotate(a, a + 1, a + n); } printf("%d\n", res); return 0; }