# Here your code ! w,h,n = 3.times.map { gets.to_i } dp = {} (1..w).each {|i| dp[i] = {includes: [], excludes: []} } n.times do s,k = gets.split.map(&:to_i) (1..w).each do |i| if i == s dp[i][:excludes] << k else dp[i][:includes] << k end end end count = dp.inject(0) do |s, (k, v)| if v[:excludes].empty? s + v[:includes].uniq.size else s + h - v[:excludes].uniq.size end end puts count