#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
#define MOD 1000000007

ll C[51][51];

void comb_table(int N){
  for(int i=0;i<=N;i++){
    for(int j=0;j<=i;j++){
      if(j==0||j==i){
        C[i][j]=1LL;
      }else{
        C[i][j]=(C[i-1][j-1]+C[i-1][j]);
      }
    }
  }
}


int main(){
  int n,a,b;
  cin>>n>>a>>b;
  comb_table(n);
  vector<ll> v(n);
  for(int i=0;i<n;i++) cin>>v[i];
  sort(v.rbegin(),v.rend());
  double ans1=0.0;
  for(int i=0;i<a;i++){
    ans1+=v[i];
  }
  ans1/=a;
  ll ans2=0;
  int num=0,pos=0;
  for(int i=0;i<n;i++){
    if(v[i]==v[a-1]){
      num++;
      if(i<a) pos++;
    }
  }
  if(pos==a){
    for(int i=a;i<=b;i++) ans2+=C[num][i];
  }else{
    ans2+=C[num][pos];
  }
  printf("%.10f\n",ans1);
  printf("%lld\n",ans2);
  return 0;
}