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

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	}

} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io 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)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	}

} Main public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	} main {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	} Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in))); in new Scanner(new BufferedReader(new InputStreamReader(System.in))) long a = in.nextInt(); a in.nextInt() in.nextInt in long b = in.nextInt(); b in.nextInt() in.nextInt in long c = in.nextInt(); c in.nextInt() in.nextInt in long d = in.nextInt(); d in.nextInt() in.nextInt in long xy = a * c; xy a * c a c xy = Math.max(xy, a * d) xy Math.max(xy, a * d) Math.max Math xy a * d a d xy = Math.max(xy, b * c) xy Math.max(xy, b * c) Math.max Math xy b * c b c xy = Math.max(xy, b * d) xy Math.max(xy, b * d) Math.max Math xy b * d b d System.out.println(xy) System.out.println System.out System System.out xy String[] args args public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	}

} public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	}

} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		long a = in.nextInt();
		long b = in.nextInt();
		long c = in.nextInt();
		long d = in.nextInt();
		long xy = a * c;
		xy = Math.max(xy, a * d);
		xy = Math.max(xy, b * c);
		xy = Math.max(xy, b * d);
		System.out.println(xy);
	}

}
