# ###
# Пусть для примера pr = 5, n = 12.
#   0  1  2  3  4  5  6  7  8  9 10 11
#  [    )[    )[       )[    )[       )
#    0     1     2        3     4
function sum (id, pr, n, a):
    lo := id * n / pr
    hi := (id + 1) * n / pr

    s := 0
    m := 0
    for i := lo until hi:
        s += a[i]
        if m > s:
            m := s
    send (0, s, m)

    if id == 0:
        arrs := array (pr)
        arrm := array (pr)
        gls := 0
        glm := 0
        for k := 0 until pr:
            send (k, gls, glm)
            scur := receive (k)
            mcur := receive (k)
            if glm > gls + mcur:
                glm := gls + mcur
            gls += scur
            arrs[k] := gls
            arrm[k] := glm
    
    s := receive (0)
    m := receive (0)
#    print (id, s, m)
    res := 0
    for i := lo until hi:
        s += a[i]
        if m > s:
            m := s
        if res < s - m:
            res := s - m
    send (0, res)

    if id == 0:
        r := 0
        for k := 0 until pr:
            temp := receive (k)
            if r < temp:
                r := temp
        print (r)
        