You are given an array $d_1, d_2, \dots, d_n$ consisting of $n$ integer numbers.

Your task is to split this array into three parts (some of which may be empty) in such a way that each element of the array belongs to exactly one of the three parts, and each of the parts forms a consecutive contiguous subsegment (possibly, empty) of the original array. 

Let the sum of elements of the first part be $sum_1$, the sum of elements of the second part be $sum_2$ and the sum of elements of the third part be $sum_3$. Among all possible ways to split the array you have to choose a way such that $sum_1 = sum_3$ and $sum_1$ is maximum possible.

More formally, if the first part of the array contains $a$ elements, the second part of the array contains $b$ elements and the third part contains $c$ elements, then:

$$sum_1 = \sum\limits_{1 \le i \le a}d_i,$$ $$sum_2 = \sum\limits_{a + 1 \le i \le a + b}d_i,$$ $$sum_3 = \sum\limits_{a + b + 1 \le i \le a + b + c}d_i.$$

The sum of an empty array is $0$.

Your task is to find a way to split the array such that $sum_1 = sum_3$ and $sum_1$ is maximum possible.
The first line of the input contains one integer $n$ ($1 \le n \le 2 \cdot 10^5$) — the number of elements in the array $d$.

The second line of the input contains $n$ integers $d_1, d_2, \dots, d_n$ ($1 \le d_i \le 10^9$) — the elements of the array $d$.
5
1 3 1 1 4
5
5
1 3 2 1 4
4
3
4 1 2
0
1
1000000000
0
2
1 1
1
5
1 3 5 4 5
9
def binarysearch(l,h,arr,target):
    while(l<=h):
        mid=(l+h)//2
        if arr[mid]>target:
            l=mid+1
        elif arr[mid]<target:
            h=mid-1
        else:
            return mid
    return -1

# l=[9,5,4,2,1,-3,-8]
# print(len(l))
# print(binarysearch(0,len(l)-1,l,-8))

for i in range(1):
    w=int(input())
    l=list(map(int,input().split()))
    t=[l[0]]

    for i in range(1,w):
        t.append(t[i-1]+l[i])
    l.reverse()
    k=[l[0]]
    for i in range(1,w):
        k.append(k[i-1]+l[i])
    k.reverse()
    # print(t)
    ans=0
    # print(t)
    # print(k)
    for i in range(w-1):
        a=binarysearch(i+1,w-1,k,t[i])
        if a==-1:
            continue
        else:
            # ans1=i+1+w-a
            # ans=max(ans,ans1)
            ans=t[i]
            # print(ans)
            # ans=max(ans,a)
            # print(ans)
    print(ans)

# [1029, 1472, 2570, 4436, 13662, 20141, 25862, 34652, 35794, 45599, 53198, 59942, 60013, 61158, 62512]
# [62512, 61483, 61040, 59942, 58076, 48850, 42371, 36650, 27860, 26718, 16913, 9314, 2570, 2499, 1354]
# 12






