#include #include using namespace std; using ll=long long; using ull=unsigned long long; #define rep(i,n) for(int i=0; i<(n); i++) using mll=atcoder::static_modint<1000000007>; int N; vector A; vector> Q; vector P; int main(){ scanf("%d",&N); A.resize(N); Q.resize(N); rep(i,N){ int a; scanf("%d",&a); A[i]=a; Q[i]={a,i}; } sort(Q.begin(),Q.end()); P.resize(N); rep(i,N) P[i]=Q[i].second; int xp=-1; rep(i,N) if(P[i]!=i) xp=i; if(xp==-1){ printf("0\n"); return 0; } int ans=1; int cinv=0; rep(i,xp) if(A[i]>A[i+1]) cinv++; if(A[0]1) ans=2; printf("%d\n",ans); return 0; }