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)
}