#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
#define pb push_back
#define mp make_pair
#define fr(i,n) for(int i=0;i<n;i++)
#define Fr(i,n) for(int i=0;i++<n;)
#define ifr(i,n) for(int i=n-1;i>=0;i--)
#define iFr(i,n) for(int i=n;i>0;i--)

ll d=0;
ll nC[300010]={1};
ll comb(ll r){
  if(nC[r]==0) nC[r]=comb(r-1)*(d-r+1)/r;
  return nC[r];
}

int main(){
  ll n,a,b,v[55];
  cin>>n>>a>>b;
  fr(i,n) cin>>v[i];
  sort(v,v+n);reverse(v,v+n);
  db s=0;
  fr(i,a) s+=v[i];
  printf("%.12f\n",s/a);
  if(v[0]==v[a-1]){
    ll ans=0;
    fr(i,n) if(v[i]==v[0]) d++;
    for(int i=a;i<=min(d,b);i++) ans+=comb(i);
    cout<<ans<<endl;
  }
  else{
    int c=0;
    fr(i,n){
      if(v[i]==v[a-1]){
        if(i<a) c++;
        d++;
      }
    }
    cout<<comb(c)<<endl;
  }
}