def max_carpet_area(n, m, h, w):
    # Рассмотрим два варианта: вертикальное и горизонтальное расположение ковров
    max_area = 0

    # Вертикальное расположение
    for i in range(1, h // n + 1):
        for j in range(1, w // m + 1):
            max_area = max(max_area, i * n * j * m)

    # Горизонтальное расположение
    for i in range(1, h // m + 1):
        for j in range(1, w // n + 1):
            max_area = max(max_area, i * m * j * n)

    return max_area

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

result = max_carpet_area(n, m, h, w)
print(result)
