while line = gets do
  break if (n = line.to_i) == 0
  sum = 0
  sign_flag = nil
  temp = []
  n.times do |i|
    a = gets.to_i
    if sign_flag == nil
      next if a < 0
      sign_flag = true
    end

    if sign_flag == a >= 0
      sum += a
    else
      temp.push sum
      sum = 0
      sum += a
      sign_flag = !sign_flag
    end
  end
  if sign_flag == nil
    puts 0
    next
  end
  temp.push sum

  if temp.length == 1
    puts temp.first
    next
  end
  sum = temp.first
  1.step(temp.length - 1, 2) do |i|
    if i == temp.length - 1
      sum += temp[i] > 0 ? temp[i] : 0
    else
      sum += (temp[i].abs < temp[i + 1].abs) ? temp[i] + temp[i + 1] : 0
    end
  end
  puts sum
end