[m, n] = list(map(int, input().split()))
a_list = list(map(int, input().split()))
b_list = list(map(int, input().split()))
a_list.sort()
b_list.sort()
temp = a_list.pop()
cache = max(a_list[-1] * b_list[-1], a_list[0] * b_list[0])
a_list.append(temp)
a_list.pop(0)
ans = min(cache, max(a_list[-1] * b_list[-1], a_list[0] * b_list[0]))
print(ans)
