
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	}
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	}
} Main public static void main(String[] args) {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	} main {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	} Scanner ob=new Scanner(System.in); ob new Scanner(System.in) long a=ob.nextInt(); a ob.nextInt() ob.nextInt ob long b=ob.nextInt(); b ob.nextInt() ob.nextInt ob long c=ob.nextInt(); c ob.nextInt() ob.nextInt ob long d=ob.nextInt(); d ob.nextInt() ob.nextInt ob long s1=a*c; s1 a*c a c long s2=a*d; s2 a*d a d long s3=b*c; s3 b*c b c long s4=b*d; s4 b*d b d long s5=Math.max(s1, s2); s5 Math.max(s1, s2) Math.max Math s1 s2 long s6=Math.max(s3, s4); s6 Math.max(s3, s4) Math.max Math s3 s4 System.out.println(Math.max(s5, s6)) System.out.println System.out System System.out Math.max(s5, s6) Math.max Math s5 s6 String[] args args public class Main {

	public static void main(String[] args) {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	}
} public class Main {

	public static void main(String[] args) {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	}
} Main

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner ob=new Scanner(System.in);
	long a=ob.nextInt();
	long b=ob.nextInt();
	long c=ob.nextInt();
	long d=ob.nextInt();
	long s1=a*c;
	long s2=a*d;
	long s3=b*c;
	long s4=b*d;
		long s5=Math.max(s1, s2);
		long s6=Math.max(s3, s4);
		System.out.println(Math.max(s5, s6));
	}
}
