import sys

point_number = int(input())


class Seznam(list):
    def remove(self, __value) -> None:
        try:
            super().remove(__value)
        except:
            # pass
            sys.exit()


points = Seznam()

for i in range(point_number):
    points.append(tuple(int(j) for j in input().split()))
while len(points) > 4:
    up_down_done = False
    leftmost = [points[0]]
    for point in points:
        if point[0] < leftmost[0][0]:
            leftmost = [point]
        elif point[0] == leftmost[0][0] and point != leftmost[0]:
            leftmost.append(point)
    if len(leftmost) == 1:
        points.remove(leftmost[0])
    else:
        up_down_done = True
        upmost = leftmost[0]
        downmost = leftmost[0]
        for point in leftmost:
            if point[1] < downmost[1]:
                downmost = point
            elif point[1] > upmost[1]:
                upmost = point
        points.remove(upmost)
        points.remove(downmost)
    rightmost = [points[0]]
    for point in points:
        if point[0] > rightmost[0][0]:
            rightmost = [point]
        elif point[0] == rightmost[0][0] and point != rightmost[0]:
            rightmost.append(point)
    if len(rightmost) == 1:
        points.remove(rightmost[0])
    else:
        upmost = rightmost[0]
        downmost = rightmost[0]
        for point in rightmost:
            if point[1] < downmost[1]:
                downmost = point
            elif point[1] > upmost[1]:
                upmost = point
        points.remove(upmost)
        points.remove(downmost)
    if up_down_done:
        continue
    downmost = points[0]
    for point in points:
        if point[1] < downmost[1]:
            downmost = point
    points.remove(downmost)
    upmost = points[0]
    for point in points:
        if point[1] > upmost[1]:
            upmost = point
    points.remove(upmost)

leftmost = [points[0]]
for point in points:
    if point[0] < leftmost[0][0]:
        leftmost = [point]
    elif point[0] == leftmost[0][0] and point != leftmost[0]:
        leftmost.append(point)
if len(leftmost) == 1:
    second = points[0]
    for point in points:
        if point[1] == leftmost[0][1] and point != leftmost[0]:
            second = point
            break
    res = second[0] - leftmost[0][0]
    points.remove(leftmost[0])
    points.remove(second)
    res *= abs(points[0][1] - points[1][1]) / 2
    print(int(res))
else:
    res = abs(leftmost[0][1] - leftmost[1][1])
    a = leftmost[0]
    for i in [0, 1]:
        points.remove(leftmost[i])
    res *= abs(points[0][0] - a[0])
    print(int(res))
