#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define llong long long int main() { map icon2val; vector icons(5); rep(i, 5) { string icon; int val; cin >> icon >> val; icons[i] = icon; icon2val[icon] = val; } int n1; cin >> n1; map roll1; rep(i, 5) roll1[icons[i]] = 0; rep(i, n1) { string icon; cin >> icon; roll1[icon] += 1; } int n2; cin >> n2; map roll2; rep(i, 5) roll2[icons[i]] = 0; rep(i, n2) { string icon; cin >> icon; roll2[icon] += 1; } int n3; cin >> n3; map roll3; rep(i, 5) roll3[icons[i]] = 0; rep(i, n3) { string icon; cin >> icon; roll3[icon] += 1; } llong summary = 0; vector matchedval(5, 0); rep(i, 5) { string icon = icons[i]; int val = icon2val[icon]; matchedval[i] = 5LL * roll1[icon] * roll2[icon] * roll3[icon]; summary += matchedval[i] * val; } printf("%.3f\n", (double)summary / (n1*n2*n3)); rep(i, 5) cout << matchedval[i] << endl; }