#include <bits/stdc++.h>
using namespace std;

long long nCr(int n, int r){
  if(r == 0) return 1;
  return nCr(n,r-1) * (n-(r-1)) / r;
}

int main(){

  int n,a,b;
  cin >> n >> a >> b;
  long long v[100];

  for(int i = 0;i < n;i++){
    cin >> v[i];
  }


  sort(v,v+n,greater<long long>());

  long long tmp = 0;
  for(int i = 0;i < a;i++){
    tmp += v[i];
  }

  printf("%.8lf\n",(double)tmp/(double)a);

  int cnt = 0;
  long long ans = 0;

  for(int i = 0;i < n;i++){
    if(v[0] == v[i]){
      cnt++;
    }
  }

  if(v[a] == v[0]){
    for(int i = a;i <= min(cnt,b);i++){
      ans += nCr(cnt,i);
    }
  }else{
    int cnt2 = 0;
    int tmp2 = 0;
    for(int i = 0;i < n;i++){
      if(v[a-1] == v[i]){
        cnt2++;
      }else if(v[a-1] < v[i]){
        tmp2++;
      }
    }
    ans = nCr(cnt2,a-tmp2);
  }

  cout << ans << endl;
  return 0;
}

