#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  long long a1[55], a2[55];
  scanf("%d %d", &n, &m);
  vector<long long> val;
  for (int i = 0; i < n; i++) scanf("%lld", &a1[i]);
  for (int j = 0; j < m; j++) scanf("%lld", &a2[j]);
  sort(a1, a1 + n);
  sort(a2, a2 + m);
  vector<long long> kola;
  for (int i = 0; i < n; i++) {
    long long ans = -LONG_LONG_MAX;
    for (int j = 0; j < m; j++) ans = max(ans, a1[i] * a2[j]);
    kola.push_back(ans);
  }
  sort(kola.begin(), kola.end());
  cout << kola[kola.size() - 2] << endl;
}
