#include <bits/stdc++.h>
using namespace std;
long long int a1[100], a2[100];
map<long long int, long long int> mymap;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  long long int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> a1[i];
  for (int i = 0; i < m; i++) cin >> a2[i];
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      long long int val = a1[i] * a2[j];
      mymap[val]++;
    }
  }
  long long int ans = 9e18;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      long long int val = a1[i] * a2[j];
      mymap[val]--;
    }
    long long int pp = -9e18;
    for (map<long long int, long long int>::iterator it = mymap.begin();
         it != mymap.end(); it++) {
      if (it->second != 0) {
        pp = max(it->first, pp);
      }
    }
    ans = min(ans, pp);
    for (int j = 0; j < m; j++) {
      long long int val = a1[i] * a2[j];
      mymap[val]++;
    }
  }
  cout << ans << endl;
  return 0;
}
