import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc int b = sc.nextInt(); b sc.nextInt() sc.nextInt sc List<Integer> c = new ArrayList<>(); c new ArrayList<>() c.add(a + b) c.add c a + b a b c.add(a - b) c.add c a - b a b c.add(a * b) c.add c a * b a b if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		} c.get(0) <= c.get(1) c.get(0) c.get c 0 c.get(1) c.get c 1 {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			} c.get(1) <= c.get(2) c.get(1) c.get c 1 c.get(2) c.get c 2 {
				System.out.println(c.get(2));
				return;
			} System.out.println(c.get(2)) System.out.println System.out System System.out c.get(2) c.get c 2 return; {
				System.out.println(c.get(1));
				return;
			} System.out.println(c.get(1)) System.out.println System.out System System.out c.get(1) c.get c 1 return; {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		} if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			} c.get(0) <= c.get(2) c.get(0) c.get c 0 c.get(2) c.get c 2 {
				System.out.println(c.get(2));
				return;
			} System.out.println(c.get(2)) System.out.println System.out System System.out c.get(2) c.get c 2 return; {
				System.out.println(c.get(0));
				return;
			} System.out.println(c.get(0)) System.out.println System.out System System.out c.get(0) c.get c 0 return; String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	}
} Main
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		List<Integer> c = new ArrayList<>();
		
		c.add(a + b);
		c.add(a - b);
		c.add(a * b);

		if(c.get(0) <= c.get(1)) {
			if(c.get(1) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(1));
				return;
			}
		} else {
			if(c.get(0) <= c.get(2)) {
				System.out.println(c.get(2));
				return;
			} else {
				System.out.println(c.get(0));
				return;
			}
		}
	}
}