import java.util.Scanner;
 
public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  }
}
  import java.util.Scanner; Scanner java.util public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  } main {
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long a=sc.nextLong(); a sc.nextLong() sc.nextLong sc long b=sc.nextLong(); b sc.nextLong() sc.nextLong sc long c=sc.nextLong(); c sc.nextLong() sc.nextLong sc long d=sc.nextLong(); d sc.nextLong() sc.nextLong sc long x=a*c; x a*c a c long y=a*d; y a*d a d long z=b*c; z b*c b c long w=b*d; w b*d b d if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    } x>=y&&x>=z&&x>=w x>=y&&x>=z&&x>=w x>=y x y x>=z x z x>=w x w {
    	System.out.println(x); 
    } System.out.println(x) System.out.println System.out System System.out x {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    } if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	} y>=z&&y>=w&&y>=x y>=z&&y>=w&&y>=x y>=z y z y>=w y w y>=x y x {
    		System.out.println(y);
    	} System.out.println(y) System.out.println System.out System System.out y {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	} if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		} z>=w&&z>=y&&z>=x z>=w&&z>=y&&z>=x z>=w z w z>=y z y z>=x z x {
    			System.out.println(z);
    		} System.out.println(z) System.out.println System.out System System.out z {
    			System.out.println(w);
    		} System.out.println(w) System.out.println System.out System System.out w String[] args args public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  }
} public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  }
} Main
import java.util.Scanner;
 
public class Main {
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    long a=sc.nextLong();
    long b=sc.nextLong();
    long c=sc.nextLong();
    long d=sc.nextLong();
    
    long x=a*c;
    long y=a*d;
    long z=b*c;
    long w=b*d;
    
    if(x>=y&&x>=z&&x>=w)
    {
    	System.out.println(x); 
    }else {
    	if(y>=z&&y>=w&&y>=x) {
    		System.out.println(y);
    	}else {
    		if(z>=w&&z>=y&&z>=x) {
    			System.out.println(z);
    		}else {
    			System.out.println(w);
    		}
    	}
    }
  }
}
 