← Home
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	in := bufio.NewReaderSize(os.Stdin, 1<<20)
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	var n, n1, n2 int
	fmt.Fscan(in, &n, &n1, &n2)

	a := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Fscan(in, &a[i])
	}

	sort.Slice(a, func(i, j int) bool {
		return a[i] > a[j]
	})

	if n1 > n2 {
		n1, n2 = n2, n1
	}

	var s1, s2 int64
	for i := 0; i < n1; i++ {
		s1 += int64(a[i])
	}
	for i := n1; i < n1+n2; i++ {
		s2 += int64(a[i])
	}

	ans := float64(s1)/float64(n1) + float64(s2)/float64(n2)
	fmt.Fprintf(out, "%.15f\n", ans)
}