#include <iostream>
#include <iomanip>
#include <algorithm>
#include <functional>
using namespace std;

long long C(long long n,long long r){
    if(r<0 || n<r) return 0;
    if(r==0||r==n) return 1;
    if(r==1) return n;

    return C(n,r-1)*(n-r+1)/r;
}

int main(){
    int N,A,B;
    cin >> N >> A >> B;
    long long v[50];
    for(int i=0;i<N;i++) cin >> v[i];
    sort(v,v+N,greater<long long>());

    double ave=0;
    long long val;
    for(int i=0;i<A;i++) ave+=v[i];
    ave/=0.0+A;

    cout << fixed << setprecision(6) << ave << endl;
    val=v[A-1];

    int cnt=0,icnt=0;
    for(int i=0;i<A || v[i]==val;i++){
        if(v[i]==val) cnt++;
        if(v[i]==val && i<A) icnt++;
    }
    if(v[0]==val){
        long long r=0;
        for(int i=A;i<=B && v[i-1]==val;i++)r+=C(cnt,i);
        cout << r << endl;
    }else{
        cout << C(cnt,icnt) << endl;
    }

    return 0;
}