import java.util.*;

class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    
    long a = scan.nextLong();
    long b = scan.nextLong();
    long c = scan.nextLong();
    long d = scan.nextLong();
    
    long[] ans = new long[4];
    
    ans[0] = a * c;
    ans[1] = a * d;
    ans[2] = b * c;
    ans[3] = b * d;
    long max = ans[0];
    
    for (int i = 1;i < 4;i ++) {
      if (max < ans[i])
        max = ans[i];
    }
    System.out.println(max);
  }
}
         import java.util.*; util.* java class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    
    long a = scan.nextLong();
    long b = scan.nextLong();
    long c = scan.nextLong();
    long d = scan.nextLong();
    
    long[] ans = new long[4];
    
    ans[0] = a * c;
    ans[1] = a * d;
    ans[2] = b * c;
    ans[3] = b * d;
    long max = ans[0];
    
    for (int i = 1;i < 4;i ++) {
      if (max < ans[i])
        max = ans[i];
    }
    System.out.println(max);
  }
} Main public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    
    long a = scan.nextLong();
    long b = scan.nextLong();
    long c = scan.nextLong();
    long d = scan.nextLong();
    
    long[] ans = new long[4];
    
    ans[0] = a * c;
    ans[1] = a * d;
    ans[2] = b * c;
    ans[3] = b * d;
    long max = ans[0];
    
    for (int i = 1;i < 4;i ++) {
      if (max < ans[i])
        max = ans[i];
    }
    System.out.println(max);
  } main {
    Scanner scan = new Scanner(System.in);
    
    long a = scan.nextLong();
    long b = scan.nextLong();
    long c = scan.nextLong();
    long d = scan.nextLong();
    
    long[] ans = new long[4];
    
    ans[0] = a * c;
    ans[1] = a * d;
    ans[2] = b * c;
    ans[3] = b * d;
    long max = ans[0];
    
    for (int i = 1;i < 4;i ++) {
      if (max < ans[i])
        max = ans[i];
    }
    System.out.println(max);
  } 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[] ans = new long[4]; ans new long[4] 4 ans[0] = a * c ans[0] ans 0 a * c a c ans[1] = a * d ans[1] ans 1 a * d a d ans[2] = b * c ans[2] ans 2 b * c b c ans[3] = b * d ans[3] ans 3 b * d b d long max = ans[0]; max ans[0] ans 0 for (int i = 1;i < 4;i ++) {
      if (max < ans[i])
        max = ans[i];
    } int i = 1; int i = 1; i 1 i < 4 i 4 i ++ i ++ i {
      if (max < ans[i])
        max = ans[i];
    } {
      if (max < ans[i])
        max = ans[i];
    } if (max < ans[i])
        max = ans[i]; max < ans[i] max ans[i] ans i max = ans[i] max ans[i] ans i System.out.println(max) System.out.println System.out System System.out max String[] args args
import java.util.*;

class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    
    long a = scan.nextLong();
    long b = scan.nextLong();
    long c = scan.nextLong();
    long d = scan.nextLong();
    
    long[] ans = new long[4];
    
    ans[0] = a * c;
    ans[1] = a * d;
    ans[2] = b * c;
    ans[3] = b * d;
    long max = ans[0];
    
    for (int i = 1;i < 4;i ++) {
      if (max < ans[i])
        max = ans[i];
    }
    System.out.println(max);
  }
}
        
