module Enumerable
def sum; inject(0){|result, x| result + x }; end
end
a.flatten!
a.compact!
(0..(n-1)).each{|i|
(0..(n-1)).each{|j|
printf "%4d", a[i*n + j]
}
printf ": %4d", a[i*n, n].sum
puts
}
(0..(n-1)).each{|j|
printf "%4d", a.values_at(*(
(0..(n-1)).collect{|i| i*n + j }
)).sum
}
puts