/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
public class Main
{
	public static void main (String[] args) throws IOException
	{
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	}
} import java.util.*; util.* java import java.lang.*; lang.* java import java.io.*; io.* java public class Main
{
	public static void main (String[] args) throws IOException
	{
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	}
} Main public static void main (String[] args) throws IOException
	{
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	} main {
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) long a = scan.nextLong(); a scan.nextLong() scan.nextLong scan long b = scan.nextLong(); b scan.nextLong() scan.nextLong scan long c = scan.nextLong(); c scan.nextLong() scan.nextLong scan long d = scan.nextLong(); d scan.nextLong() scan.nextLong scan long m1 = a * c; m1 a * c a c long m2 = a * d; m2 a * d a d m1 = Math.max(m1, m2) m1 Math.max(m1, m2) Math.max Math m1 m2 m2 = b * c m2 b * c b c long m3 = b * d; m3 b * d b d m2 = Math.max(m2, m3) m2 Math.max(m2, m3) Math.max Math m2 m3 System.out.println(Math.max(m2, m1)) System.out.println System.out System System.out Math.max(m2, m1) Math.max Math m2 m1 String[] args args public class Main
{
	public static void main (String[] args) throws IOException
	{
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	}
} public class Main
{
	public static void main (String[] args) throws IOException
	{
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	}
} Main
/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
public class Main
{
	public static void main (String[] args) throws IOException
	{
		// your code goes here
		Scanner scan = new Scanner(System.in);
		long a = scan.nextLong();
		long b = scan.nextLong();
		long c = scan.nextLong();
		long d = scan.nextLong();
		long m1 = a * c;
		long m2 = a * d;
		m1 = Math.max(m1, m2);
	    m2 = b * c;
		long m3 = b * d;
		m2 = Math.max(m2, m3);
		System.out.println(Math.max(m2, m1));
	}
}
