#include <bits/stdc++.h>
using namespace std;
long long  N,A,B;
long long value[51];
long long dp[51][51];
bool comp(long long a,long long b)
{
    return a>b?true:false;
}


void init()
{
	memset(dp,0,sizeof(dp));
	dp[0][0]=1;
	for(int i=1;i<=50;i++)
	{
		dp[i][0]=1;
		for(int j=1;j<=i;j++)
			dp[i][j]=dp[i-1][j-1]+dp[i-1][j];
	}
}
int main(void)
{
    cin>>N>>A>>B;
    init();
    for(int i=0;i<N;i++)
    {
        cin>>value[i];
    }
    sort(value,value+N,comp);
    double sum=0.0;
    for(int i=0;i<=A-1;i++)
    {
        sum+=value[i];
    }
    long long  num=0,k=0;
		for(int i=0;i<N;i++)
		{
			if(value[i]==value[A-1])
			{
				num++;
				if(i<A)
					k++;
			}
		}
		long long ans=0;
		if(k==A)//前A个相同,可以增加个数
		{
			for(int i=A;i<=B;i++)
				ans+=dp[num][i];
		}
		else
			ans+=dp[num][k];
    printf("%.15f\n",sum/A);
    cout <<ans <<endl;
    return 0;
}
