import 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();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    }
} import java.util.*; util.* java 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();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    }
} 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();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);
        long a =  sc.nextLong();
        long b =  sc.nextLong();
        long c =  sc.nextLong();
        long d =  sc.nextLong();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    } 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 sc.close() sc.close sc long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d)); ans Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d)) Math.max Math Math.max(a*c,a*d) Math.max Math a*c a c a*d a d Math.max(b*c,b*d) Math.max Math b*c b c b*d b d System.out.println(ans) System.out.println System.out System System.out ans 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();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    }
} 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();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    }
} Main
import 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();
        sc.close();
        long ans = Math.max(Math.max(a*c,a*d),Math.max(b*c,b*d));
        System.out.println(ans);
    }
}
