class fenwick_tree: n = 1 data = [0 for i in range(n)] def __init__(self, N): self.n = N self.data = [0 for i in range(N)] def add(self, p, x): assert 0 <= p < self.n, "0<=p 0: s += self.data[r - 1] r -= r & -r return s N = int(input()) L, R = [0] * N, [0] * N for i in range(N): L[i], R[i] = [int(x) - 1 for x in input().split()] left = fenwick_tree(10**6) right = fenwick_tree(10**6) ans = 0 for i in range(N - 1, -1, -1): ans += left.sum(L[i], 10**6) ans += right.sum(0, R[i]) left.add(L[i], 1) right.add(R[i], 1) LR_list = [(l, r) for l, r in zip(L, R)] LR_list.sort() bit = fenwick_tree(10**6) for l, r in LR_list: ans += bit.sum(r, 10**6) bit.add(r, 1) ans -= N * (N - 1) // 2 ans //= 2 print(ans)