

def find_min_points(p, i):
    res = []
    max_val = 999999999999999999999999
    for point in p:
        if point[i] < max_val:
            res = []
            max_val = point[i]
            res.append(point)
        elif point[i] == max_val:
            res.append(point)
    return res


def find_max_points(p, i):
    res = []
    max_val = -999999999999999999999999
    for point in p:
        if point[i] > max_val:
            res = []
            max_val = point[i]
            res.append(point)
        elif point[i] == max_val:
            res.append(point)
    return res

def find_min(points, i):
    min_val = 9999999999999999
    res = points[0]
    for point in points:
        if point[i] < min_val:
            min_val = point[i]
            res = point
    return res

def find_max(points, i):
    min_val = -9999999999999999
    res = points[0]
    for point in points:
        if point[i] > min_val:
            min_val = point[i]
            res = point
    return res
points = set()
N = int(input())
for _ in range(N):
    res = input().split()
    points.add((int(res[0]), int(res[1])))

while(len(points) > 4):
    min_x = find_min_points(points, 0)
    min_y = find_min_points(points, 1)
    max_x = find_max_points(points, 0)
    max_y = find_max_points(points, 1)
    allfields = min_x + min_y + max_x + max_y
    to_remove = set(allfields)
    points = points - to_remove

min_points_x = find_min_points(points, 0)
min_points_y = find_min_points(points, 1)
max_points_x = find_max_points(points, 0)
max_points_y = find_max_points(points, 1)

if(len(min_points_x) == 2):
    min_y_point = min_points_x[0] if min_points_x[0][1] < min_points_x[1][1] else min_points_x[1]
    max_y_point = min_points_x[0] if min_points_x[0][1] > min_points_x[1][1] else min_points_x[1]
    
    Y = max_y_point[1] - min_y_point[1]
    X = max_points_x[0][0] - min_points_x[0][0]
    ans = X*Y
else:
    point_top = max_points_y[0]
    point_left = min_points_x[0]
    point_right = max_points_x[0]

    directionX = (point_left[0] - point_top[0], point_left[1]- point_top[1])
    directionY = (point_top[0] - point_right[0], point_top[1] - point_right[1])
    X = (directionX[0]**2 + directionX[1]**2)**0.5
    Y = (directionY[0]**2 + directionY[1]**2)**0.5

    ans = int(round(X*Y))
    
"""    
X = max_points_x[0][0] - min_points_x[0][0]
Y = max_points_y[0][1] - min_points_y[0][1]

min1 = (min_points_y[0][0] - min_points_x[0][0]) * (min_points_x[0][1] - min_points_y[0][1])
min2 = (max_points_x[0][0] - min_points_y[0][0]) * (max_points_x[0][1] - min_points_y[0][1])
ans = (X * Y) - min1 - min2
"""
print(ans)
