import java.io.PrintWriter;
import java.util.*;

public class Main{
    static PrintWriter out;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    }




} import java.io.PrintWriter; PrintWriter java.io import java.util.*; util.* java public class Main{
    static PrintWriter out;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    }




} Main static PrintWriter out; out public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    } main {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) out=new PrintWriter(System.out) out new PrintWriter(System.out) long a[]=new long[4]; a new long[4] 4 for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        } int i = 0; int i = 0; i 0 i <4 i 4 i++ i++ i {
            a[i]=sc.nextInt();
        } {
            a[i]=sc.nextInt();
        } a[i]=sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3])))) out.println out Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))) Math.max Math a[0]*a[2] a[0] a 0 a[2] a 2 Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3])) Math.max Math a[0]*a[3] a[0] a 0 a[3] a 3 Math.max(a[1]*a[2],a[1]*a[3]) Math.max Math a[1]*a[2] a[1] a 1 a[2] a 2 a[1]*a[3] a[1] a 1 a[3] a 3 sc.close() sc.close sc out.close() out.close out String[] args args public class Main{
    static PrintWriter out;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    }




} public class Main{
    static PrintWriter out;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    }




} Main
import java.io.PrintWriter;
import java.util.*;

public class Main{
    static PrintWriter out;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        out=new PrintWriter(System.out);

        long a[]=new long[4];
        for (int i = 0; i <4 ; i++) {
            a[i]=sc.nextInt();
        }
        out.println(Math.max(a[0]*a[2],Math.max(a[0]*a[3],Math.max(a[1]*a[2],a[1]*a[3]))));


        sc.close();
        out.close();
    }




}