n = gets.to_i arr = [] n.times { |i| s = gets raise unless s =~ /^(-1|(\d)+)( (-1|(\d)+))+$/ s = s.split.map(&:to_i) arr << s } raise unless arr == arr.transpose n.times { |i| raise unless arr[i][i] == -1 }