n = gets.to_i a = gets.split.map(&:to_i) b = (1..n).map { gets.split.map(&:to_i) } f = ->(i) { (0...n).select { i[_1] == 1 } } g = ->(i) { x = f[i]; x.sum { a[_1] } + x.combination(2).sum { b[_1][_2] } } ans = (1...1 << n).max_by(&g) puts g[ans], f[ans].map{ _1 + 1 } * ' '