h, w = map(int, input().split())

# Создаем список, где каждый элемент - кортеж (площадь ковра, его высота, его ширина)
rugs = []

# Ввод данных о коврах
while True:
    try:
        n, m = map(int, input().split())
        rugs.append((n * m, n, m))
    except EOFError:
        break

# Сортируем ковры по убыванию площадей
rugs.sort(reverse=True)

max_total_area = 0

for i in range(len(rugs)):
    total_area = 0
    current_height, current_width = h, w
    
    for j in range(i, len(rugs)):
        rug_area, rug_height, rug_width = rugs[j]
        
        if rug_height <= current_height and rug_width <= current_width:
            total_area += rug_area
            current_height = rug_height
            current_width = rug_width
    
    max_total_area = max(max_total_area, total_area)

print(max_total_area)