grid = ARGF.read.chars
length = grid.find_index ?\n

removed = 0
while removed !=
  removed += grid.each_with_index.count { |item, i|
    grid[i] = ?. if item == ?@ && [-length-2, -length-1, -length, -1, 1, length, length+1, length+2].count { ?@ == grid[i + _1] } < 4
  }
end

puts removed
