#include <bits/stdc++.h>
using namespace std;
int fx[] = {+0, +0, +1, -1, -1, +1, -1, +1};
int fy[] = {-1, +1, +0, +0, +1, +1, -1, -1};
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long n, n1, n2, i, value, j;
  cin >> n >> n1 >> n2;
  vector<long long> v;
  for (i = 0; i < n; i++) {
    cin >> value;
    v.push_back(value);
  }
  sort(v.begin(), v.end());
  long long mini, maxi, sum1 = 0, sum2 = 0;
  mini = min(n1, n2);
  maxi = max(n1, n2);
  long long sz1 = n - 1;
  for (i = sz1; i > (sz1 - mini); i--) {
    sum1 += v[i];
  }
  long long sz2 = sz1 - mini;
  for (j = sz2; j > (sz2 - maxi); j--) {
    sum2 += v[j];
  }
  double result = 1.0 * ((sum1 * 1.0) / mini) + ((sum2 * 1.0) / maxi);
  printf("%.12f", result);
}
