Problem:
Score : 100 points

Problem Statement

We have two integers: A and B.

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

Constraints

All values in input are integers.

-100 \leq A,\ B \leq 100

Input

Input is given from Standard Input in the following format:

A B

Output

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

Sample Input 1

-13 3

Sample Output 1

-10

The largest number among A + B = -10, A - B = -16, and A \times B = -39 is -10.

Sample Input 2

1 -33

Sample Output 2

34

The largest number among A + B = -32, A - B = 34, and A \times B = -33 is 34.

Sample Input 3

13 3

Sample Output 3

39

The largest number among A + B = 16, A - B = 10, and A \times B = 39 is 39.

Solution in Haskell (GHC 7.10.3) (judge verdict: Accepted)

toInt :: (String -> Int)
toInt x = read x ::Int
max' [] = error "empty"        -- 1番目
max' [x] = x                   -- 2番目
max' (x:xs) = max x (max' xs)

main = do
  args <- words <$> getLine
  let argsInt = map(toInt) args
  let addResult = sum argsInt
  let distResult =  toInt (args !! 0) - toInt(args !! 1)
  let prodResult = product argsInt
  print (max' [addResult, distResult, prodResult])