import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.BitSet;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	}

	private static int solve(int a, int b) {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.Arrays; Arrays java.util import java.util.BitSet; BitSet java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	}

	private static int solve(int a, int b) {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	}
} Main public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	} main {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	} Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in))); in new Scanner(new BufferedReader(new InputStreamReader(System.in))) int a = in.nextInt(); a in.nextInt() in.nextInt in int b = in.nextInt(); b in.nextInt() in.nextInt in System.out.println(solve(a, b)) System.out.println System.out System System.out solve(a, b) solve a b String[] args args private static int solve(int a, int b) {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	} solve {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	} int r = a + b; r a + b a b if(a-b>r)
			r=a-b; a-b>r a-b a b r r=a-b r a-b a b if(a*b>r)
			r=a*b; a*b>r a*b a b r r=a*b r a*b a b return r; r int a a int b b public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	}

	private static int solve(int a, int b) {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	}
} public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	}

	private static int solve(int a, int b) {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.BitSet;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		int a = in.nextInt();
		int b = in.nextInt();
		System.out.println(solve(a, b));
	}

	private static int solve(int a, int b) {
		int r = a + b;
		if(a-b>r)
			r=a-b;
		if(a*b>r)
			r=a*b;
		return r;
	}
}
