#include <bits/stdc++.h>
using namespace std;
void SpeedIO() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
void write_to_file() { freopen("output.txt", "w", stdout); }
bool isVowel(char c) {
  if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
    return true;
  else
    return false;
}
int SD() {
  int x;
  scanf("%d", &x);
  return x;
}
long long SLL() {
  long long x;
  scanf("%lld", &x);
  return x;
}
char SC() {
  char x;
  scanf("%c", &x);
  return x;
}
const int AKA = 6e5 + 5;
int idx[AKA], a[AKA], b[AKA], arr[AKA], fr[AKA], cm[AKA];
pair<long long, long long> mxs[AKA];
bool cpm(int s, int f) {
  if (b[f] < b[s]) return true;
  if (b[f] == b[s] && a[f] < a[s]) return true;
  return false;
}
int main() {
  int ACCEPTED = 1;
  ;
  while (ACCEPTED--) {
    int n = SD();
    for (int i = 0; i < n; ++i) arr[i] = SD();
    sort(arr, arr + n);
    double r1 = arr[n - 1];
    int m = SD();
    for (int i = 0; i < m; ++i) arr[i] = SD();
    sort(arr, arr + m);
    double p1 = arr[m - 1];
    int k = SD();
    for (int i = 0; i < k; ++i) arr[i] = SD();
    sort(arr, arr + k);
    double p2 = arr[0];
    double a = SD(), b = SD();
    double ans = (b * p1 * r1 * r1) / (a * p2 + b * p1);
    cout << fixed << setprecision(8) << sqrt(ans);
  }
  return 0;
}
