
import java.util.Scanner;

import java.math.BigInteger;

class Main

{

	public static void main(String[] args)

	{

		Scanner cin=new Scanner(System.in);


		BigInteger a,b,c,d;

		BigInteger q,w,e,r,s;
		a=cin.nextBigInteger();
		b=cin.nextBigInteger();
		c=cin.nextBigInteger();
		d=cin.nextBigInteger();
		q=a.multiply(c);
		w=a.multiply(d);
		e=b.multiply(c);
		r=b.multiply(d);
        BigInteger ans;
        ans=q.max(w);
        ans=ans.max(e);
        ans=ans.max(r);
      s=BigInteger.valueOf(0);
       if(a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0) 
        {
        	if(ans.compareTo(s)<=0) ans=s;
       }
        System.out.println(ans);


	}



} import java.util.Scanner; Scanner java.util import java.math.BigInteger; BigInteger java.math class Main

{

	public static void main(String[] args)

	{

		Scanner cin=new Scanner(System.in);


		BigInteger a,b,c,d;

		BigInteger q,w,e,r,s;
		a=cin.nextBigInteger();
		b=cin.nextBigInteger();
		c=cin.nextBigInteger();
		d=cin.nextBigInteger();
		q=a.multiply(c);
		w=a.multiply(d);
		e=b.multiply(c);
		r=b.multiply(d);
        BigInteger ans;
        ans=q.max(w);
        ans=ans.max(e);
        ans=ans.max(r);
      s=BigInteger.valueOf(0);
       if(a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0) 
        {
        	if(ans.compareTo(s)<=0) ans=s;
       }
        System.out.println(ans);


	}



} Main public static void main(String[] args)

	{

		Scanner cin=new Scanner(System.in);


		BigInteger a,b,c,d;

		BigInteger q,w,e,r,s;
		a=cin.nextBigInteger();
		b=cin.nextBigInteger();
		c=cin.nextBigInteger();
		d=cin.nextBigInteger();
		q=a.multiply(c);
		w=a.multiply(d);
		e=b.multiply(c);
		r=b.multiply(d);
        BigInteger ans;
        ans=q.max(w);
        ans=ans.max(e);
        ans=ans.max(r);
      s=BigInteger.valueOf(0);
       if(a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0) 
        {
        	if(ans.compareTo(s)<=0) ans=s;
       }
        System.out.println(ans);


	} main {

		Scanner cin=new Scanner(System.in);


		BigInteger a,b,c,d;

		BigInteger q,w,e,r,s;
		a=cin.nextBigInteger();
		b=cin.nextBigInteger();
		c=cin.nextBigInteger();
		d=cin.nextBigInteger();
		q=a.multiply(c);
		w=a.multiply(d);
		e=b.multiply(c);
		r=b.multiply(d);
        BigInteger ans;
        ans=q.max(w);
        ans=ans.max(e);
        ans=ans.max(r);
      s=BigInteger.valueOf(0);
       if(a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0) 
        {
        	if(ans.compareTo(s)<=0) ans=s;
       }
        System.out.println(ans);


	} Scanner cin=new Scanner(System.in); cin new Scanner(System.in) BigInteger a a b b c c d; d BigInteger q q w w e e r r s; s a=cin.nextBigInteger() a cin.nextBigInteger() cin.nextBigInteger cin b=cin.nextBigInteger() b cin.nextBigInteger() cin.nextBigInteger cin c=cin.nextBigInteger() c cin.nextBigInteger() cin.nextBigInteger cin d=cin.nextBigInteger() d cin.nextBigInteger() cin.nextBigInteger cin q=a.multiply(c) q a.multiply(c) a.multiply a c w=a.multiply(d) w a.multiply(d) a.multiply a d e=b.multiply(c) e b.multiply(c) b.multiply b c r=b.multiply(d) r b.multiply(d) b.multiply b d BigInteger ans; ans ans=q.max(w) ans q.max(w) q.max q w ans=ans.max(e) ans ans.max(e) ans.max ans e ans=ans.max(r) ans ans.max(r) ans.max ans r s=BigInteger.valueOf(0) s BigInteger.valueOf(0) BigInteger.valueOf BigInteger 0 if(a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0) 
        {
        	if(ans.compareTo(s)<=0) ans=s;
       } a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0 a.compareTo(s)<=0&&b.compareTo(s)>=0 a.compareTo(s)<=0 a.compareTo(s) a.compareTo a s 0 b.compareTo(s)>=0 b.compareTo(s) b.compareTo b s 0 c.compareTo(s)<=0&&d.compareTo(s)>=0 c.compareTo(s)<=0 c.compareTo(s) c.compareTo c s 0 d.compareTo(s)>=0 d.compareTo(s) d.compareTo d s 0 {
        	if(ans.compareTo(s)<=0) ans=s;
       } if(ans.compareTo(s)<=0) ans=s; ans.compareTo(s)<=0 ans.compareTo(s) ans.compareTo ans s 0 ans=s ans s System.out.println(ans) System.out.println System.out System System.out ans String[] args args

import java.util.Scanner;

import java.math.BigInteger;

class Main

{

	public static void main(String[] args)

	{

		Scanner cin=new Scanner(System.in);


		BigInteger a,b,c,d;

		BigInteger q,w,e,r,s;
		a=cin.nextBigInteger();
		b=cin.nextBigInteger();
		c=cin.nextBigInteger();
		d=cin.nextBigInteger();
		q=a.multiply(c);
		w=a.multiply(d);
		e=b.multiply(c);
		r=b.multiply(d);
        BigInteger ans;
        ans=q.max(w);
        ans=ans.max(e);
        ans=ans.max(r);
      s=BigInteger.valueOf(0);
       if(a.compareTo(s)<=0&&b.compareTo(s)>=0||c.compareTo(s)<=0&&d.compareTo(s)>=0) 
        {
        	if(ans.compareTo(s)<=0) ans=s;
       }
        System.out.println(ans);


	}



}
