import math

from functools import reduce

from collections import deque

import sys

sys.setrecursionlimit(10**7)



def s(generator, splitter, mapper):

    return [ mapper(s) for s in generator().split(splitter) ]



# スペース区切りの入力を読み込んで数値リストにして返します。

def get_nums_l():

    return [ int(s) for s in input().split(" ")]



# 改行区切りの入力をn行読み込んで数値リストにして返します。

def get_nums_n(n):

    return [ int(eval(input())) for _ in range(n)]



a,b = get_nums_l()

print((max(a+b, a-b, a*b)))


import sys



def log(*args, **kwargs):

    print(*args, file=sys.stderr)



log("hogehoge")



a,b = map(int, input().split())



print(max(a*b, a+b, a-b))

import math
from functools import reduce
from collections import deque
import sys

sys.setrecursionlimit(10**7)


def s(generator, splitter, mapper):
    return [mapper(s) for s in generator().split(splitter)]


# スペース区切りの入力を読み込んで数値リストにして返します。
def get_nums_l():
    return [int(s) for s in input().split(" ")]


# 改行区切りの入力をn行読み込んで数値リストにして返します。
def get_nums_n(n):
    return [int(eval(input())) for _ in range(n)]


a, b = get_nums_l()
print((max(a + b, a - b, a * b)))

import sys


def log(*args, **kwargs):
    print(*args, file=sys.stderr)


log("hogehoge")
a, b = map(int, input().split())
print(max(a * b, a + b, a - b))

-import math -from functools import reduce -from collections import deque -sys.setrecursionlimit(10**7) + +def log(*args, **kwargs): +    print(*args, file=sys.stderr) -def s(generator, splitter, mapper): -    return [mapper(s) for s in generator().split(splitter)] - - -# スペース区切りの入力を読み込んで数値リストにして返します。 -def get_nums_l(): -    return [int(s) for s in input().split(" ")] - - -# 改行区切りの入力をn行読み込んで数値リストにして返します。 -def get_nums_n(n): -    return [int(eval(input())) for _ in range(n)] - - -a, b = get_nums_l() -print((max(a + b, a - b, a * b))) +log("hogehoge") +a, b = map(int, input().split()) +print(max(a * b, a + b, a - b))