s2c = {} 5.times do s, c = gets.split s2c[s] = c.to_i end c = Array.new(3) { Hash.new { |h, k| h[k] = 0 } } ns = [] 3.times do |i| n = gets.to_i ns << n n.times do s = gets.strip c[i][s] += 1 end end p 1.0 * s2c.map { |s, w| c[0][s] * c[1][s] * c[2][s] * 5 * w } .sum / ns.reduce(:*) puts s2c.map { |s, w| c[0][s] * c[1][s] * c[2][s] * 5 }