def solution(h, w):
  """
  Находит максимальную суммарную площадь ковров, которые можно аккуратно уложить на витрине размером h × w.

  Args:
    h: Высота витрины.
    w: Ширина витрины.

  Returns:
    Максимальная суммарная площадь ковров.
  """

  # Поиск всех возможных наборов прямоугольников

  possible_sets = set()
  for i in range(1, h + 1):
    for j in range(1, w + 1):
      for k in range(1, i):
        for l in range(1, j):
          possible_sets.add((i * j, k * l))

  # Нахождение максимального набора прямоугольников

  max_set = None
  max_area = 0
  for set in possible_sets:
    area = set[0] - set[1]
    if area > max_area:
      max_area = area
      max_set = set

  return max_area


if _name_ == "_main_":
  h, w = map(int, input().split())
  print(solution(h, w))
