#include <bits/stdc++.h>

using namespace std;

int n,a,b,i,j;
map <long long, int> cnt;
long long v[55],ncr[55][55];

int main(){

	scanf("%d%d%d", &n, &a, &b);
	
	for(i = 0; i < n; i++){
		scanf("%lld", &v[i]);
		cnt[v[i]]++;
	}
	
	ncr[0][0] = 1;
	for(i = 1; i <= n; i++){
		ncr[i][0] = 1;
		for(j = 1; j <= n; j++)
		ncr[i][j] = ncr[i - 1][j] + ncr[i - 1][j - 1];
	}
	
	sort(v, v + n);
	reverse(v, v + n);
	
	long long pre = -1;
	int now = 0;
	long long cur = 0;
	pair <long long, int> res = {1, 1};
	long long ways = 0;
	
	for(i = 0; i < n; i++){
		if(v[i] != pre)
		now = 0;
		
		now++;
		cur += v[i];
		
		if(i + 1 >= a && i + 1 <= b){
			if(cur * res.second > res.first * (i + 1)){
				res = {cur, i + 1};
				ways = ncr[cnt[v[i]]][now];
			}
			else if(cur * res.second == res.first * (i + 1))
			ways += ncr[cnt[v[i]]][now];
		}
		
		pre = v[i];
	}	
	
	printf("%.12lf\n%lld\n", res.first * 1.0 / res.second, ways);		
}
