n = gets.to_i v = gets.split.map(&:to_i) dp = Array.new(n + 1) dp[0] = 0 dp[1] = v[0] memo = Array.new(n + 1) (n + 1).times{|i| memo[i] = [] } memo[1] = [1] 2.upto(n){|i| if dp[i - 1] > dp[i - 2] + v[i - 1] memo[i] = memo[i - 1] dp[i] = dp[i - 1] else memo[i] = memo[i - 2] + [i] dp[i] = dp[i - 2] + v[i - 1] end } p dp[n] puts memo[n].sort.join(' ')