N, *AB = list(map(int, open(0).read().split()))



A = sorted(zip(*[iter(AB)] * 2), key=lambda t: t[0])

B = sorted(zip(*[iter(AB)] * 2), key=lambda t: t[1])



if N % 2 == 1:

    L = A[N // 2][0]

    R = B[N // 2][1]

else:

    L = A[N // 2 - 1][0] + A[N // 2][0]

    R = B[N // 2 - 1][1] + B[N // 2][1]



print((R - L + 1))
N, *AB = list(map(int, open(0).read().split()))



A = sorted(AB[::2])

B = sorted(AB[1::2])



if N % 2 == 1:

    L = A[N // 2]

    R = B[N // 2]

else:

    L = A[N // 2 - 1] + A[N // 2]

    R = B[N // 2 - 1] + B[N // 2]



print((R - L + 1))
N, *AB = list(map(int, open(0).read().split()))
A = sorted(zip(*[iter(AB)] * 2), key=lambda t: t[0])
B = sorted(zip(*[iter(AB)] * 2), key=lambda t: t[1])
if N % 2 == 1:
    L = A[N // 2][0]
    R = B[N // 2][1]
else:
    L = A[N // 2 - 1][0] + A[N // 2][0]
    R = B[N // 2 - 1][1] + B[N // 2][1]
print((R - L + 1))

N, *AB = list(map(int, open(0).read().split()))
A = sorted(AB[::2])
B = sorted(AB[1::2])
if N % 2 == 1:
    L = A[N // 2]
    R = B[N // 2]
else:
    L = A[N // 2 - 1] + A[N // 2]
    R = B[N // 2 - 1] + B[N // 2]
print((R - L + 1))

-A = sorted(zip(*[iter(AB)] * 2), key=lambda t: t[0]) -B = sorted(zip(*[iter(AB)] * 2), key=lambda t: t[1]) +A = sorted(AB[::2]) +B = sorted(AB[1::2]) -    L = A[N // 2][0] -    R = B[N // 2][1] +    L = A[N // 2] +    R = B[N // 2] -    L = A[N // 2 - 1][0] + A[N // 2][0] -    R = B[N // 2 - 1][1] + B[N // 2][1] +    L = A[N // 2 - 1] + A[N // 2] +    R = B[N // 2 - 1] + B[N // 2]