import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	} main {
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long a = sc.nextLong(); a sc.nextLong() sc.nextLong sc long b = sc.nextLong(); b sc.nextLong() sc.nextLong sc long c = sc.nextLong(); c sc.nextLong() sc.nextLong sc long d = sc.nextLong(); d sc.nextLong() sc.nextLong sc long e = a * c; e a * c a c long f = b * c; f b * c b c long g = b * d; g b * d b d long h = a * d; h a * d a d if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		} e >= f &&  e >= g &&  e >= h e >= f &&  e >= g &&  e >= h e >= f e f e >= g e g e >= h e h {
			System.out.println(e);
		} System.out.println(e) System.out.println System.out System System.out e if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		} f >= e &&  f >= g &&  f >= f f >= e &&  f >= g &&  f >= f f >= e f e f >= g f g f >= f f f {
			System.out.println(f);
		} System.out.println(f) System.out.println System.out System System.out f if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		} g >= e &&  g >= f &&  g >= h g >= e &&  g >= f &&  g >= h g >= e g e g >= f g f g >= h g h {
			System.out.println(g);
		} System.out.println(g) System.out.println System.out System System.out g if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		} h >= e &&  h >= f &&  h >= g h >= e &&  h >= f &&  h >= g h >= e h e h >= f h f h >= g h g {
			System.out.println(h);
		} System.out.println(h) System.out.println System.out System System.out h String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long a = sc.nextLong();
		// スペース区切りの整数の入力
		long b = sc.nextLong();
		long c = sc.nextLong();
		long d = sc.nextLong();
		// 文字列の入力
		long e = a * c;
		long f = b * c;
		long g = b * d;
		long h = a * d;
		
		if( e >= f &&  e >= g &&  e >= h){
			System.out.println(e);
		}else if( f >= e &&  f >= g &&  f >= f){
			System.out.println(f);
		}else if( g >= e &&  g >= f &&  g >= h){
			System.out.println(g);
		}else if( h >= e &&  h >= f &&  h >= g){
			System.out.println(h);
		}
		
	}
}