"use strict";
    
const main = arg => {
    arg = arg.trim().split("\n");
    const a = parseInt(arg[0].split(" ")[0]);
    const b = parseInt(arg[0].split(" ")[1]);
    const c = parseInt(arg[0].split(" ")[2]);
    const d = parseInt(arg[0].split(" ")[3]);
    
    // +,+の時はでかい奴
    // if(a >= 0 && b >=0 && c >= 0 && d >= 0) {
    //     console.log(b * d);
    // // -,-の時は小さい奴
    // } else if(a <= 0 && b <= 0 && c <= 0 && d <= 0) {
    //     console.log(a * c);
    // } else if(a < 0 && b < 0 && c >= 0 && d >= 0) {
    //     console.log(b * c);
    // } else {
    //     console.log(a * d);
    // }
    
    let answers = [];
    
    answers.push(a * c);
    answers.push(a * d);
    answers.push(b * c);
    answers.push(b * d);
    
    console.log(Math.max(...answers));
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));