using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); static string[] SList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => ReadLine()).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, x, y) = (c[0], c[1], c[2]); var query = SList(n); var arr = new Pair[x + y]; for (var i = 0; i < n; ++i) { var s = query[i].Split(); var p = int.Parse(s[0]); if (s[1] == "A") arr[i % (x + y)].A += p; else arr[i % (x + y)].B += p; } Array.Sort(arr, (l, r) => (l.B - l.A).CompareTo(r.B - r.A)); var ans = 0L; for (var i = 0; i < x; ++i) ans += arr[i].A; for (var i = x; i < arr.Length; ++i) ans += arr[i].B; WriteLine(ans); } struct Pair { public long A; public long B; } }