module Enumerable
    def sum(init = 0, &block)
        if block
            inject(init) {|sum, n| sum += yield(n) }
        else
            inject(init) {|sum, n| sum += n }
        end
    end
end

n = gets.chomp!.to_i
a_n_orig = n.times.map {|_| gets.chomp!.to_i }
sorted_a_n = a_n_orig.sort
all_sum = a_n_orig.inject(&:+)

a_n = sorted_a_n.dup

# aから任意の個数取り出したときの合計の組み合わせ
comb = 
  1.upto(n).map! {|i|
    a_n.each_cons(i).map {|x| [x.sum, x] }
  }.sort!
   .flatten(1).uniq
   .group_by {|x, y| x }
   .map {|sum, x| [sum, x.map{|y| y[1]}] }
   .to_h

# lを最大としたときの三角形ができる条件
# l < n + m
comb.select! {|l, _| l < all_sum - l }

# lとして採用できる数一覧
puts 1
