You are given two integers A and B.
Find the largest value among A+B, A-B and A \times B.

-----Constraints-----
 - -1000 \leq A,B \leq 1000
 - All values in input are integers.

-----Input-----
Input is given from Standard Input in the following format:
A B

-----Output-----
Print the largest value among A+B, A-B and A \times B.

-----Sample Input-----
3 1

-----Sample Output-----
4

3+1=4, 3-1=2 and 3 \times 1=3. The largest among them is 4.

Difficulty: introductory

Starter code:

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

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

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

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

a_list=[a+b,a-b,a*b]

print(max(a_list))

A, B = map(int, input().split())
print(max(A+B, A-B, A*B))

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

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

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

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

import sys


def input(): return sys.stdin.readline().strip()
def I(): return int(input())
def LI(): return list(map(int, input().split()))
def IR(n): return [I() for i in range(n)]
def LIR(n): return [LI() for i in range(n)]
def SR(n): return [S() for i in range(n)]
def S(): return input()
def LS(): return input().split()


INF = float('inf')


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


A, B = map(int, input().split())
print(max(A+B, A-B, A*B))

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

#ABC098
a,b = map(int,input().split())
print(max(a+b,a-b,a*b))

a,b=input().split()
a=int(a)
b=int(b)
ls=[a+b,a-b,a*b]
ls.sort()
print(ls[2])

def LI():
    return list(map(int, input().split()))


A, B = LI()
print((max(A+B, A-B, A*B)))


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

A, B = map(int, input().split())
print(max(A+B, A-B, A*B))

lst = input().split()
a = int(lst[0])
b = int(lst[1])

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

A,B = map(int,input().split())
print(max(A+B,A-B,A*B))

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

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

A, B = map(int,input().split())
print(max(A+B, A-B, A*B))

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

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

A,B=map(int,input().split())
print(max(A+B,A-B,A*B))

def mapt(fn, *args):
    return tuple(map(fn, *args))


def Input():
    return mapt(int, input().split(" "))


def main():
    a, b = Input()
    print(max(a+b, a*b, a-b))

main()

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

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

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


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

A,B = map(int,input().split())
print(max(A+B,A-B,A*B))

import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,copy,functools
from collections import deque

sys.setrecursionlimit(10**7)
inf = 10**20
mod = 10**9 + 7

DR = [1, -1, 0, 0]
DC = [0, 0, 1, -1]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def I(): return int(sys.stdin.readline())
def F(): return float(sys.stdin.readline())
def S(): return input()
     
def main():
    A, B = LI()
    print((max(A+B, A-B, A*B)))

main()



a, b = map(int, input().split())
x = a + b
y = a - b
z = a * b
print(max(x, y, z))

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

A,B=list(map(int,input().split()))
print((max(A+B,A-B,A*B)))


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


A, B = map(int, input().split())

print(max(A + B, A - B, A * B))

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

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

A=[a+b,a-b,a*b]

print(max(A))

A,B=map(int,input().split())
print(max(A+B,max(A*B,A-B)))

a, b = map(int, input().split())
c = []
c.append(a+b)
c.append(a-b)
c.append(a*b)
c = sorted(c, reverse=True)
print(c[0])

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

A,B = map(int,input().split())
print(max(A+B,A-B,A*B))

A, B = list(map(int, input().split()))

print(max(A + B, A - B, A * B))

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

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

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

a=list(map(int,input().split()))
b=a[0]*a[1]
c=a[0]-a[1]
d=a[0]+a[1]
print(max(b,c,d))

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

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

A=[a+b,a-b,a*b]

print(max(A))

a,b = (int (x) for x in input ().split ())
x = a+b
y = a-b
z = a*b
if x>=y and x>=z:
  print (x)
elif y>=x and y>=z:
  print (y)
else:
  print (z)

a,b = [int(x) for x in input().split()]
print(max(a+b,a-b,a*b))

A, B = map(int, input().split())
print(max(A+B, A-B, A*B))

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


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

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

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

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

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

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

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

import sys


stdin = sys.stdin
def ns(): return stdin.readline().rstrip()
def ni(): return int(stdin.readline().rstrip())
def nm(): return list(map(int, stdin.readline().split()))
def nl(): return list(map(int, stdin.readline().split()))


def main():
    a, b = nm()
    print((max(a + b, a - b, a * b)))


def __starting_point():
    main()

__starting_point()

import sys

A, B = list(map(int, input().split()))

print(max(A+B, A-B, A*B))

A, B = map(int, input().split())
print(max(A + B, A - B, A * B))

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

A,B = map(int,input().split())
ans = max(A+B,A-B,A*B)
print(ans)

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

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

A, B = map(int, input().split())
print(max(A + B, A - B, A * B))

a, b = map(int, input().split())
s = a + b
t = a - b
w = a * b

print(max(s, t, w))


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

a, b = list(map(int, input().split()))
res = max(a + b, a - b, a * b)
print(res)


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

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

def main():
    A, B = list(map(int, input().split()))
    ans = max(A + B, A - B, A * B)
    print(ans)


def __starting_point():
    main()

__starting_point()

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

#k = int(input())
#s = input()
#a, b = map(int, input().split())
#s, t = map(str, input().split())
#l = list(map(int, input().split()))
#l = [list(map(int,input().split())) for i in range(n)]
#a = [list(input()) for _ in range(n)]
#a = [int(input()) for _ in range(n)]

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

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




A, B = map(int, input().split())

print(max(A+B, A-B,A*B))

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

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

A, B = list(map(int, input().split()))
print((max(A + B, A - B, A * B)))


a, b = list(map(int, input().split()))
x = max(a*b, max(a+b, a-b))
print(x)


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

A,B=map(int,input().split())
print(max(A+B,A-B,A*B))

A,B=map(int,input().split())
print(max(A+B,A-B,A*B))

#!/usr/bin/env python3

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

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


#
# abc096 a
#
import sys
from io import StringIO
import unittest


class TestClass(unittest.TestCase):
    def assertIO(self, input, output):
        stdout, stdin = sys.stdout, sys.stdin
        sys.stdout, sys.stdin = StringIO(), StringIO(input)
        resolve()
        sys.stdout.seek(0)
        out = sys.stdout.read()[:-1]
        sys.stdout, sys.stdin = stdout, stdin
        self.assertEqual(out, output)

    def test_入力例_1(self):
        input = """3 1"""
        output = """4"""
        self.assertIO(input, output)

    def test_入力例_2(self):
        input = """4 -2"""
        output = """6"""
        self.assertIO(input, output)

    def test_入力例_3(self):
        input = """0 0"""
        output = """0"""
        self.assertIO(input, output)


def resolve():
    A, B = list(map(int, input().split()))

    print((max(A+B, A-B, A*B)))


def __starting_point():
    # unittest.main()
    resolve()

__starting_point()

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

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

import sys
import math

#https://atcoder.jp/contests/agc008/submissions/15248942
sys.setrecursionlimit(10 ** 8)
ini = lambda: int(sys.stdin.readline())
inm = lambda: map(int, sys.stdin.readline().split())
inl = lambda: list(inm())
ins = lambda: sys.stdin.readline().rstrip()
debug = lambda *a, **kw: print("\033[33m", *a, "\033[0m", **dict(file=sys.stderr, **kw))

A,B = inm()
l = []
l.append(A+B)
l.append(A-B)
l.append(A*B)
print(max(l))



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

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

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

a=input();print(max(eval(a.replace(" ",k))for k in"+-*"))

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


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


A,B = map(int, input().split())
print(max(A+B, A-B, A*B))

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

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


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

A,B=list(map(int,input().split()))

a=A+B
b=A-B
c=A*B

print((max(a,b,c)))


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

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

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

a, b = map(int,input().split())
list01 = [a + b, a * b, a - b]
print(max(list01))

A, B = list(map(int, input().split()))

print((max([A+B, A-B, A*B])))


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

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