小 B 想要对一个长为 B 的序列 A 排序。已知 A 中只包含 0,1,2,...,n−1 且对任意 i=j 有 Ai=Aj 且 n 为 2 的次幂。
为了排序,小 B 只想用以下两种操作:
- 交换相邻的两个位置,也就是说选择 1≤i≤n−1 并且交换 Ai,Ai+1。
- 选择一个整数 0≤x≤n−1 ,将每个 Ai 都替换为 Ai⊕x,⊕ 为异或运算。
请问最少需要多少次操作才能给整个序列排序?
输入格式
第一行一个整数 n 。
第二行 n 个整数表示初始的 A1,A2,A3,...,An。
n≤222