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

public class Main {

    static Scanner sc;
    static PrintWriter out;

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

    public void solve() {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    }



} import java.io.PrintWriter; PrintWriter java.io import java.util.*; util.* java public class Main {

    static Scanner sc;
    static PrintWriter out;

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

    public void solve() {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    }



} Main static Scanner sc; sc static PrintWriter out; out public static void main(String[] args) {
        sc = new Scanner(System.in);
        out = new PrintWriter(System.out);
        new Main().solve();
        out.flush();
    } main {
        sc = new Scanner(System.in);
        out = new PrintWriter(System.out);
        new Main().solve();
        out.flush();
    } sc = new Scanner(System.in) sc new Scanner(System.in) out = new PrintWriter(System.out) out new PrintWriter(System.out) new Main().solve() new Main().solve new Main() out.flush() out.flush out String[] args args public void solve() {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    } solve {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    } long a = sc.nextInt(); a sc.nextInt() sc.nextInt sc long b = sc.nextInt(); b sc.nextInt() sc.nextInt sc long c = sc.nextInt(); c sc.nextInt() sc.nextInt sc long d = sc.nextInt(); d sc.nextInt() sc.nextInt sc long res = b * c; res b * c b c res = Math.max(res, b * d) res Math.max(res, b * d) Math.max Math res b * d b d res = Math.max(res, a * c) res Math.max(res, a * c) Math.max Math res a * c a c res = Math.max(res, a * d) res Math.max(res, a * d) Math.max Math res a * d a d out.println(res) out.println out res public class Main {

    static Scanner sc;
    static PrintWriter out;

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

    public void solve() {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    }



} public class Main {

    static Scanner sc;
    static PrintWriter out;

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

    public void solve() {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    }



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

public class Main {

    static Scanner sc;
    static PrintWriter out;

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

    public void solve() {
        long a = sc.nextInt();
        long b = sc.nextInt();
        long c = sc.nextInt();
        long d = sc.nextInt();


        long res = b * c;
        res = Math.max(res, b * d);
        res = Math.max(res, a * c);
        res = Math.max(res, a * d);

        out.println(res);
    }



}