import sys

input = sys.stdin.readline

sys.setrecursionlimit(10 ** 7)



"""

奇数番目集合、偶数番目集合の中で自由にできるのが操作2．

操作1で集合間のやりとりをする

"""



import numpy as np



N = int(eval(input()))

A = np.fromstring(sys.stdin.read(),dtype=np.int64,sep='\n')



B = np.sort(A)



answer = len(np.setdiff1d(A[::2],B[::2]))

print(answer)
import sys

read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines



"""

・偶数番号、奇数番号の中では入れ替え放題

・偶、奇の間：並べてからスワップ。操作2を1回で、正しいものを2つ増やせる

"""



N,*A = list(map(int,read().split()))



x_to_i = {x:i for i,x in enumerate(sorted(A))}

rank = [x_to_i[x] for x in A]



answer = sum((x^i) & 1 for i,x in enumerate(rank)) // 2

print(answer)
import sys

input = sys.stdin.readline
sys.setrecursionlimit(10**7)
"""
奇数番目集合、偶数番目集合の中で自由にできるのが操作2．
操作1で集合間のやりとりをする
"""
import numpy as np

N = int(eval(input()))
A = np.fromstring(sys.stdin.read(), dtype=np.int64, sep="\n")
B = np.sort(A)
answer = len(np.setdiff1d(A[::2], B[::2]))
print(answer)

import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
"""
・偶数番号、奇数番号の中では入れ替え放題
・偶、奇の間：並べてからスワップ。操作2を1回で、正しいものを2つ増やせる
"""
N, *A = list(map(int, read().split()))
x_to_i = {x: i for i, x in enumerate(sorted(A))}
rank = [x_to_i[x] for x in A]
answer = sum((x ^ i) & 1 for i, x in enumerate(rank)) // 2
print(answer)

-input = sys.stdin.readline -sys.setrecursionlimit(10**7) +read = sys.stdin.buffer.read +readline = sys.stdin.buffer.readline +readlines = sys.stdin.buffer.readlines -奇数番目集合、偶数番目集合の中で自由にできるのが操作2． -操作1で集合間のやりとりをする +・偶数番号、奇数番号の中では入れ替え放題 +・偶、奇の間：並べてからスワップ。操作2を1回で、正しいものを2つ増やせる -import numpy as np - -N = int(eval(input())) -A = np.fromstring(sys.stdin.read(), dtype=np.int64, sep="\n") -B = np.sort(A) -answer = len(np.setdiff1d(A[::2], B[::2])) +N, *A = list(map(int, read().split())) +x_to_i = {x: i for i, x in enumerate(sorted(A))} +rank = [x_to_i[x] for x in A] +answer = sum((x ^ i) & 1 for i, x in enumerate(rank)) // 2