def main():

    a, b, c, d = list(map(int, input().split()))

    if (a <= 0 and b >= 0) or (c <=0 and d >= 0):

        print((max(a*c, b*d, 0)))

    else:

        print((max(a*c, b*d, a*d, b*c)))



if __name__ == "__main__":

    main()
def main():

    a, b, c, d = list(map(int, input().split()))

    if a*b > 0 and c*d > 0 and a*c < 0:

        print((max(a*d, b*c)))

    else:

        print((max(a*c, b*d, 0)))



if __name__ == "__main__":

    main()
def main():
    a, b, c, d = list(map(int, input().split()))
    if (a <= 0 and b >= 0) or (c <= 0 and d >= 0):
        print((max(a * c, b * d, 0)))
    else:
        print((max(a * c, b * d, a * d, b * c)))


if __name__ == "__main__":
    main()

def main():
    a, b, c, d = list(map(int, input().split()))
    if a * b > 0 and c * d > 0 and a * c < 0:
        print((max(a * d, b * c)))
    else:
        print((max(a * c, b * d, 0)))


if __name__ == "__main__":
    main()

-    if (a <= 0 and b >= 0) or (c <= 0 and d >= 0): +    if a * b > 0 and c * d > 0 and a * c < 0: +        print((max(a * d, b * c))) +    else: -    else: -        print((max(a * c, b * d, a * d, b * c)))