//#define _GLIBCXX_DEBUG #include #define PI 3.14159265359 using namespace std; #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define bit(n,k) (((ll)n>>(ll)k)&1) /*nのk bit目*/ const long long INF= 1e+18+1; typedef long long ll; typedef vector vl; typedef vector >vvl; typedef pair P; typedef tuple T; //const ll MOD=1000000007LL; const ll MOD=998244353LL; string abc="abcdefghijklmnopqrstuvwxyz"; string ABC="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; vl dx={-1,-1,-1,0,0,1,1,1}; vl dy={1,-1,0,1,-1,1,0,-1}; int main(){ ll n;cin>>n; vl flag(114514); vl a(n); rep(i,n)cin>>a[i]; bool ok=true; rep(i,n){ if(i!=n-1){ if(a[i+1]==a[i])continue; } if(flag[a[i]])ok=false; flag[a[i]]=1; } if(ok){ cout<<0<q; rep(i,n){ q.push_back(a[i]); } while(q.front()==q.back()){ ll d=q.front(); q.pop_front(); q.push_back(d); } ok=true; rep(i,114514)flag[i]=0; rep(i,n){ if(i!=n-1){ if(q[i+1]==q[i])continue; } if(flag[q[i]])ok=false; flag[q[i]]=1; } if(ok){ cout<<1<