#!/bin/python3 import sys def largestValue(A): m_s = 0 pprev = 0 prev_p = 0 prev_n = 0 prev_sum = 0 neg_sum = 0 pos_sum = 0 final_sum = 0 for i in A: if i < 0 : pprev = final_sum if final_sum > 0: prev_sum = 0 prev_p = 0 prev_n = 0 final_sum = final_sum + pos_sum * i + neg_sum * i neg_sum += i else: prev_sum = 0 neg_sum = 0 pos_sum = 0 final_sum = prev_sum prev_sum = 0 prev_p = 0 prev_n = 0 continue else: final_sum += pos_sum *i + neg_sum *i prev_sum += prev_p*i+prev_n*i prev_p+=i pos_sum += i m_s = max(final_sum, m_s) return m_s if __name__ == "__main__": n = int(input().strip()) A = list(map(int, input().strip().split(' '))) result = largestValue(A) print(result)