import java.util.*;
import java.util.stream.*;

public class Main {
	Scanner sc;
	int A, B;
	
	public Main() {
		sc = new Scanner(System.in);
	}
	
	private void calc() {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	}
	
	private int max(int a, int b) {
		return (a>b)?a:b;
	}
	
	private void out(Object o) {
		System.out.println(o);
		System.out.flush();
	}
	
	public static void main(String[] args) {
		Main m = new Main();
		m.calc();
	}

} import java.util.*; util.* java import java.util.stream.*; stream.* java.util public class Main {
	Scanner sc;
	int A, B;
	
	public Main() {
		sc = new Scanner(System.in);
	}
	
	private void calc() {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	}
	
	private int max(int a, int b) {
		return (a>b)?a:b;
	}
	
	private void out(Object o) {
		System.out.println(o);
		System.out.flush();
	}
	
	public static void main(String[] args) {
		Main m = new Main();
		m.calc();
	}

} Main Scanner sc; sc int A A B; B public Main() {
		sc = new Scanner(System.in);
	} Main {
		sc = new Scanner(System.in);
	} sc = new Scanner(System.in) sc new Scanner(System.in) private void calc() {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	} calc {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	} A = sc.nextInt() A sc.nextInt() sc.nextInt sc B = sc.nextInt() B sc.nextInt() sc.nextInt sc int add = A + B; add A + B A B int sub = A - B; sub A - B A B int mul = A * B; mul A * B A B out(max(add, max(sub, mul))) out max(add, max(sub, mul)) max add max(sub, mul) max sub mul private int max(int a, int b) {
		return (a>b)?a:b;
	} max {
		return (a>b)?a:b;
	} return (a>b)?a:b; (a>b)?a:b (a>b) a b a b int a a int b b private void out(Object o) {
		System.out.println(o);
		System.out.flush();
	} out {
		System.out.println(o);
		System.out.flush();
	} System.out.println(o) System.out.println System.out System System.out o System.out.flush() System.out.flush System.out System System.out Object o o public static void main(String[] args) {
		Main m = new Main();
		m.calc();
	} main {
		Main m = new Main();
		m.calc();
	} Main m = new Main(); m new Main() m.calc() m.calc m String[] args args public class Main {
	Scanner sc;
	int A, B;
	
	public Main() {
		sc = new Scanner(System.in);
	}
	
	private void calc() {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	}
	
	private int max(int a, int b) {
		return (a>b)?a:b;
	}
	
	private void out(Object o) {
		System.out.println(o);
		System.out.flush();
	}
	
	public static void main(String[] args) {
		Main m = new Main();
		m.calc();
	}

} public class Main {
	Scanner sc;
	int A, B;
	
	public Main() {
		sc = new Scanner(System.in);
	}
	
	private void calc() {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	}
	
	private int max(int a, int b) {
		return (a>b)?a:b;
	}
	
	private void out(Object o) {
		System.out.println(o);
		System.out.flush();
	}
	
	public static void main(String[] args) {
		Main m = new Main();
		m.calc();
	}

} Main
import java.util.*;
import java.util.stream.*;

public class Main {
	Scanner sc;
	int A, B;
	
	public Main() {
		sc = new Scanner(System.in);
	}
	
	private void calc() {
		A = sc.nextInt();
		B = sc.nextInt();
		int add = A + B;
		int sub = A - B;
		int mul = A * B;
		
		out(max(add, max(sub, mul)));
	}
	
	private int max(int a, int b) {
		return (a>b)?a:b;
	}
	
	private void out(Object o) {
		System.out.println(o);
		System.out.flush();
	}
	
	public static void main(String[] args) {
		Main m = new Main();
		m.calc();
	}

}