import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;

public class Main {
public static void main(String[] args) throws IOException{
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
}
}
   import java.util.*; util.* java import java.io.*; io.* java import java.lang.*; lang.* java import java.math.BigInteger; BigInteger java.math import java.nio.charset.StandardCharsets; StandardCharsets java.nio.charset public class Main {
public static void main(String[] args) throws IOException{
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
}
} Main public static void main(String[] args) throws IOException{
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
} main {
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
} BufferedInputStream bis = new BufferedInputStream(System.in); bis new BufferedInputStream(System.in) BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8)); r new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8)) PrintStream ps = new PrintStream(System.out); ps new PrintStream(System.out) String str[]=r.readLine().trim().split(" "); str r.readLine().trim().split(" ") r.readLine().trim().split r.readLine().trim() r.readLine().trim r.readLine() r.readLine r " " BigInteger a = new BigInteger(str[0]); a new BigInteger(str[0]) BigInteger b = new BigInteger(str[1]); b new BigInteger(str[1]) BigInteger c = new BigInteger(str[2]); c new BigInteger(str[2]) BigInteger d = new BigInteger(str[3]); d new BigInteger(str[3]) BigInteger amax; amax BigInteger bmax; bmax BigInteger result; result if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d); a.multiply(c).compareTo(a.multiply(d)) >= 1 a.multiply(c).compareTo(a.multiply(d)) a.multiply(c).compareTo a.multiply(c) a.multiply a c a.multiply(d) a.multiply a d 1 amax = a.multiply(c) amax a.multiply(c) a.multiply a c amax = a.multiply(d) amax a.multiply(d) a.multiply a d if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d); b.multiply(c).compareTo(b.multiply(d)) >= 1 b.multiply(c).compareTo(b.multiply(d)) b.multiply(c).compareTo b.multiply(c) b.multiply b c b.multiply(d) b.multiply b d 1 bmax = b.multiply(c) bmax b.multiply(c) b.multiply b c bmax = b.multiply(d) bmax b.multiply(d) b.multiply b d if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax; amax.compareTo(bmax) >= 1 amax.compareTo(bmax) amax.compareTo amax bmax 1 result = amax result amax result = bmax result bmax System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {
public static void main(String[] args) throws IOException{
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
}
} public class Main {
public static void main(String[] args) throws IOException{
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
}
} Main
import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;

public class Main {
public static void main(String[] args) throws IOException{
  BufferedInputStream bis = new BufferedInputStream(System.in);
  BufferedReader r = new BufferedReader(new InputStreamReader(bis, StandardCharsets.UTF_8));
  PrintStream ps = new PrintStream(System.out);
  String str[]=r.readLine().trim().split(" ");
  BigInteger a = new BigInteger(str[0]);
  BigInteger b = new BigInteger(str[1]);
  BigInteger c = new BigInteger(str[2]);
  BigInteger d = new BigInteger(str[3]);

  BigInteger amax;
  BigInteger bmax;
  BigInteger result;

  if (a.multiply(c).compareTo(a.multiply(d)) >= 1)
    amax = a.multiply(c);

  else
    amax = a.multiply(d);

  if (b.multiply(c).compareTo(b.multiply(d)) >= 1)
    bmax = b.multiply(c);

  else
    bmax = b.multiply(d);

  if (amax.compareTo(bmax) >= 1) 
    result = amax;
   else
    result = bmax;

  System.out.println(result);
  

  
}
}
  