def c_splitting_pile(N, A):

    # Aの要素の総和をX、カードの山の先頭i枚の総和をxとすると、

    # |y-x|=|X-2x|である。各iについてこの値を計算すればよい

    total = sum(A)

    ans = float('inf')

    s = 0

    for i in range(N-1):

        s += A[i]

        ans = min(ans, abs(total - s * 2))

    return ans



N = int(eval(input()))

A = [int(i) for i in input().split()]

print((c_splitting_pile(N, A)))
def c_splitting_pile(N, A):

    # Aの要素の総和をX、カードの山の先頭i枚の総和をxとすると、

    # |y-x|=|X-2x|である。各i(1<=i<=N-1)についてこの値を計算すればよい

    from itertools import accumulate

    total = sum(A)

    return min([abs(total - 2 * x) for x in accumulate(A[:-1])])



N = int(eval(input()))

A = [int(i) for i in input().split()]

print((c_splitting_pile(N, A)))
def c_splitting_pile(N, A):
    # Aの要素の総和をX、カードの山の先頭i枚の総和をxとすると、
    # |y-x|=|X-2x|である。各iについてこの値を計算すればよい
    total = sum(A)
    ans = float("inf")
    s = 0
    for i in range(N - 1):
        s += A[i]
        ans = min(ans, abs(total - s * 2))
    return ans


N = int(eval(input()))
A = [int(i) for i in input().split()]
print((c_splitting_pile(N, A)))

def c_splitting_pile(N, A):
    # Aの要素の総和をX、カードの山の先頭i枚の総和をxとすると、
    # |y-x|=|X-2x|である。各i(1<=i<=N-1)についてこの値を計算すればよい
    from itertools import accumulate

    total = sum(A)
    return min([abs(total - 2 * x) for x in accumulate(A[:-1])])


N = int(eval(input()))
A = [int(i) for i in input().split()]
print((c_splitting_pile(N, A)))

-    # |y-x|=|X-2x|である。各iについてこの値を計算すればよい +    # |y-x|=|X-2x|である。各i(1<=i<=N-1)についてこの値を計算すればよい +    from itertools import accumulate + -    ans = float("inf") -    s = 0 -    for i in range(N - 1): -        s += A[i] -        ans = min(ans, abs(total - s * 2)) -    return ans +    return min([abs(total - 2 * x) for x in accumulate(A[:-1])])