def main(n,a): if all(a[i]<=a[i+1] for i in range(n-1)):return 0 ma=[a[0]] for x in a[1:]: ma.append(max(ma[-1],x)) abl=[0]*n abl[-1]=1 for i in reversed(range(n-1)): if a[i]<=a[i+1]: abl[i]=1 else: break abl.append(1) a.append(10**10) gen=[0] for i in range(n-1): if a[i]>a[i+1]: gen.append(gen[-1]+1) else: gen.append(gen[-1]) for i in range(n): if gen[i]==1 and a[i]<=a[0] and abl[i+1]==1 and ma[i]<=a[i+1]:return 1 return 2 n=int(input()) a=list(map(int,input().split())) print(main(n,a))