def find_sorted_min_idx(N, A): SA = sorted(A) for i in range(N - 1, -1, -1): if A[i] != SA[i]: return i + 1 return 0 def is_cyclic_shift(N, A): ct = 0 for i in range(N - 1): if A[i] > A[i + 1]: ct += 1 return ct == 1 and A[0] >= A[-1] def solve(N, A): sorted_min_idx = find_sorted_min_idx(N, A) if not sorted_min_idx: return 0 if is_cyclic_shift(sorted_min_idx, A[:sorted_min_idx]): return 1 return 2 N = int(input()) A = list(map(int, input().split())) print(solve(N, A))