#include #include #include #include #include template std::vector vec(int len, T elem) { return std::vector(len, elem); } using ldouble = long double; using lint = long long; void solve() { std::vector cs(5); std::map mp; for (int i = 0; i < 5; ++i) { std::string s; std::cin >> s >> cs[i]; mp[s] = i; } lint tot = 1; auto pats = vec(5, 1LL); for (int i = 0; i < 3; ++i) { int n; std::cin >> n; tot *= n; std::vector cnt(5, 0); while (n--) { std::string s; std::cin >> s; ++cnt[mp[s]]; } for (int j = 0; j < 5; ++j) pats[j] *= cnt[j]; } ldouble sum = 0; for (int i = 0; i < 5; ++i) { sum += cs[i] * pats[i] * 5; } std::cout << std::fixed << std::setprecision(10) << sum / tot << std::endl; for (auto p : pats) std::cout << p * 5 << std::endl; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }