def main(): import sys input = sys.stdin.read().split() n = int(input[0]) a = list(map(int, input[1:n+1])) a_sorted = sorted(a) if a == a_sorted: print(0) return # 检查是否可以通过购买一个道具i解决问题 for i in range(n, 0, -1): if i == 1: continue # 无需处理i=1的情况 # 提取原数组和目标数组的前i个元素 original = a[:i] target = a_sorted[:i] # 检查target是否是original的循环移位 # 将original重复两次,然后寻找target是否是其中的子数组 doubled = original * 2 # 寻找target在doubled中的起始位置 found = False for j in range(i): if all(doubled[j + k] == target[k] for k in range(i)): found = True break if found: print(1) return # 如果没有找到i,可能需要购买2种道具 print(2) if __name__ == "__main__": main()