import java.util.*;
import java.io.*;

/*
        @@@@@@           @@@@@@
      @@@@@@@@@@       @@@@@@@@@@ 
    @@@@@@@@@@@@@@   @@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@@@@@@@@@@@
        @@@@@@@@@@@@@@@@@@@@@@@
          @@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@
              @@@@@@@@@@@
                @@@@@@@
                  @@@
                   @ 
*/
public class Main {
	public static void main(String[] args) throws Exception{
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	}
	
	static BufferedReader in;
	static StringTokenizer st = new StringTokenizer("");
	static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	static {
		in = new BufferedReader(new InputStreamReader(System.in));
	}
	static void check() throws Exception {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	}
	static String s() throws Exception { check(); return st.nextToken(); }
	static int i() throws Exception { return Integer.parseInt(s()); }
	static long l() throws Exception { return Long.parseLong(s()); }
	static double d() throws Exception { return Double.parseDouble(s()); }
} import java.util.*; util.* java import java.io.*; io.* java public class Main {
	public static void main(String[] args) throws Exception{
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	}
	
	static BufferedReader in;
	static StringTokenizer st = new StringTokenizer("");
	static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	static {
		in = new BufferedReader(new InputStreamReader(System.in));
	}
	static void check() throws Exception {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	}
	static String s() throws Exception { check(); return st.nextToken(); }
	static int i() throws Exception { return Integer.parseInt(s()); }
	static long l() throws Exception { return Long.parseLong(s()); }
	static double d() throws Exception { return Double.parseDouble(s()); }
} Main static BufferedReader in; in static StringTokenizer st = new StringTokenizer(""); st new StringTokenizer("") static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); out new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))) public static void main(String[] args) throws Exception{
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	} main {
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	} int a = i(); a i() i int b = i(); b i() i int[] arr = new int[3]; arr new int[3] 3 arr[0] = a+b arr[0] arr 0 a+b a b arr[1] = a-b arr[1] arr 1 a-b a b arr[2] = a*b arr[2] arr 2 a*b a b Arrays.sort(arr) Arrays.sort Arrays arr System.out.println(arr[2]) System.out.println System.out System System.out arr[2] arr 2 String[] args args static void check() throws Exception {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	} check {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	} while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine()); !st.hasMoreTokens() st.hasMoreTokens() st.hasMoreTokens st st = new StringTokenizer(in.readLine()) st new StringTokenizer(in.readLine()) static String s() throws Exception { check(); return st.nextToken(); } s { check(); return st.nextToken(); } check() check return st.nextToken(); st.nextToken() st.nextToken st static int i() throws Exception { return Integer.parseInt(s()); } i { return Integer.parseInt(s()); } return Integer.parseInt(s()); Integer.parseInt(s()) Integer.parseInt Integer s() s static long l() throws Exception { return Long.parseLong(s()); } l { return Long.parseLong(s()); } return Long.parseLong(s()); Long.parseLong(s()) Long.parseLong Long s() s static double d() throws Exception { return Double.parseDouble(s()); } d { return Double.parseDouble(s()); } return Double.parseDouble(s()); Double.parseDouble(s()) Double.parseDouble Double s() s public class Main {
	public static void main(String[] args) throws Exception{
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	}
	
	static BufferedReader in;
	static StringTokenizer st = new StringTokenizer("");
	static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	static {
		in = new BufferedReader(new InputStreamReader(System.in));
	}
	static void check() throws Exception {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	}
	static String s() throws Exception { check(); return st.nextToken(); }
	static int i() throws Exception { return Integer.parseInt(s()); }
	static long l() throws Exception { return Long.parseLong(s()); }
	static double d() throws Exception { return Double.parseDouble(s()); }
} public class Main {
	public static void main(String[] args) throws Exception{
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	}
	
	static BufferedReader in;
	static StringTokenizer st = new StringTokenizer("");
	static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	static {
		in = new BufferedReader(new InputStreamReader(System.in));
	}
	static void check() throws Exception {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	}
	static String s() throws Exception { check(); return st.nextToken(); }
	static int i() throws Exception { return Integer.parseInt(s()); }
	static long l() throws Exception { return Long.parseLong(s()); }
	static double d() throws Exception { return Double.parseDouble(s()); }
} Main
import java.util.*;
import java.io.*;

/*
        @@@@@@           @@@@@@
      @@@@@@@@@@       @@@@@@@@@@ 
    @@@@@@@@@@@@@@   @@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@@@@@@@@@@@
        @@@@@@@@@@@@@@@@@@@@@@@
          @@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@
              @@@@@@@@@@@
                @@@@@@@
                  @@@
                   @ 
*/
public class Main {
	public static void main(String[] args) throws Exception{
		int a = i(); int b = i();
		int[] arr = new int[3];
		arr[0] = a+b;
		arr[1] = a-b;
		arr[2] = a*b;
		Arrays.sort(arr);
		System.out.println(arr[2]);
	}
	
	static BufferedReader in;
	static StringTokenizer st = new StringTokenizer("");
	static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	static {
		in = new BufferedReader(new InputStreamReader(System.in));
	}
	static void check() throws Exception {
		while (!st.hasMoreTokens()) st = new StringTokenizer(in.readLine());
	}
	static String s() throws Exception { check(); return st.nextToken(); }
	static int i() throws Exception { return Integer.parseInt(s()); }
	static long l() throws Exception { return Long.parseLong(s()); }
	static double d() throws Exception { return Double.parseDouble(s()); }
}
