import java.util.*;
import java.lang.Math;

public class Main{

public static void main(String[] args){
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



}
} import java.util.*; util.* java import java.lang.Math; Math java.lang public class Main{

public static void main(String[] args){
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



}
} Main public static void main(String[] args){
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



} main {
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



} Scanner scanner1 = new Scanner(System.in); scanner1 new Scanner(System.in) Scanner scanner2 = new Scanner(System.in); scanner2 new Scanner(System.in) long a=scanner1.nextLong(); a scanner1.nextLong() scanner1.nextLong scanner1 long b=scanner1.nextLong(); b scanner1.nextLong() scanner1.nextLong scanner1 long c=scanner1.nextLong(); c scanner1.nextLong() scanner1.nextLong scanner1 long d=scanner1.nextLong(); d scanner1.nextLong() scanner1.nextLong scanner1 long t=a*c; t a*c a c long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d))); e Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d))) Math.max Math a*c a c Math.max(a*d,Math.max(b*c,b*d)) Math.max Math a*d a d Math.max(b*c,b*d) Math.max Math b*c b c b*d b d System.out.println(e) System.out.println System.out System System.out e String[] args args public class Main{

public static void main(String[] args){
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



}
} public class Main{

public static void main(String[] args){
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



}
} Main
import java.util.*;
import java.lang.Math;

public class Main{

public static void main(String[] args){
Scanner scanner1 = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
long a=scanner1.nextLong();
long b=scanner1.nextLong();
long c=scanner1.nextLong();
long d=scanner1.nextLong();
long t=a*c;

long e=Math.max(a*c,Math.max(a*d,Math.max(b*c,b*d)));
System.out.println(e);



}
}