//package com.company;
import java.util.*;
import java.io.*;
import java.lang.*;


public class Main {

    public static void main(String[] args) {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



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

    public static void main(String[] args) {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



    }
} Main public static void main(String[] args) {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



    } main {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



    } Scanner s=new Scanner(System.in); s new Scanner(System.in) long a=s.nextLong(); a s.nextLong() s.nextLong s long b=s.nextLong(); b s.nextLong() s.nextLong s long c=s.nextLong(); c s.nextLong() s.nextLong s long d=s.nextLong(); d s.nextLong() s.nextLong s long res=0 res 0 max=0; max 0 res=Integer.MIN_VALUE res Integer.MIN_VALUE Integer Integer.MIN_VALUE max=Integer.MIN_VALUE max Integer.MIN_VALUE Integer Integer.MIN_VALUE long p p q q r r st; st if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      } a>0 && b>0 && c>0 && d>0 c>0 a>0 && b>0 && c>0 && d>0 a>0 a 0 b>0 b 0 c>0 c 0 d>0 d 0 {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      } p=a*c p a*c a c q=b*d q b*d b d res=Math.max(p,q) res Math.max(p,q) Math.max Math p q if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      } a<0 && b<0 && c<0 && d<0 c<0 a<0 && b<0 && c<0 && d<0 a<0 a 0 b<0 b 0 c<0 c 0 d<0 d 0 {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      } p=a*c p a*c a c q=b*d q b*d b d res=Math.max(p,q) res Math.max(p,q) Math.max Math p q {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      } p=a*c p a*c a c q=b*d q b*d b d r=a*d r a*d a d st=b*c st b*c b c r=Math.max(r,st) r Math.max(r,st) Math.max Math r st p=Math.max(p,q) p Math.max(p,q) Math.max Math p q res=Math.max(p,r) res Math.max(p,r) Math.max Math p r System.out.println(res) System.out.println System.out System System.out res String[] args args public class Main {

    public static void main(String[] args) {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



    }
} public class Main {

    public static void main(String[] args) {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



    }
} Main
//package com.company;
import java.util.*;
import java.io.*;
import java.lang.*;


public class Main {

    public static void main(String[] args) {
	// write your code here

      //  System.out.println("Hello World");
        // System.out.println("This is my first package ");
        Scanner s=new Scanner(System.in);
        long a=s.nextLong();
        long b=s.nextLong();
        long c=s.nextLong();
        long d=s.nextLong();

        long res=0,max=0;
        res=Integer.MIN_VALUE;
        max=Integer.MIN_VALUE;
     /*   for(long i=a;i<=b;i++)
        {
            for(long j=c;j<=d;j++)
            {
                max=i*j;
                res=Math.max(max,res);
            }
        }*/
      long p,q,r,st;
      
      if(a>0 && b>0 && c>0 && d>0)
      {
         p=a*c;
       q=b*d;
       res=Math.max(p,q);
        
      }
      else  if(a<0 && b<0 && c<0 && d<0)
      {
         p=a*c;
       q=b*d;
     res=Math.max(p,q);
        
      }
        else
      {
          p=a*c;
       q=b*d;
          r=a*d;
          st=b*c;
          r=Math.max(r,st);
      p=Math.max(p,q);
          res=Math.max(p,r);
        
      }
      
      
      
      
     
     // res=Math.max(r,res);
        System.out.println(res);



    }
}
