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
# cook your dish here

# from math import factorial, ceil, pow, sqrt, floor, gcd
from sys import stdin, stdout

#from collections import defaultdict, Counter, deque
#from bisect import bisect_left, bisect_right
# import sympy
# from itertools import permutations
# import numpy as np

#           n = int(stdin.readline())
#           stdout.write(str())
#           s = stdin.readline().strip('\n')
#           map(int, stdin.readline().split())
#           l = list(map(int, stdin.readline().split()))

#for _ in range(int(stdin.readline())):
for _ in range(1):
    n = int(stdin.readline())
    l = list(map(int, stdin.readline().split()))
    shan = []
    siri = []
    sumy1 = sumy2 = 0
    for i in range(n):
        sumy2 += l[n-1-i]
        sumy1 += l[i]
        siri.append(sumy2)
        shan.append(sumy1)
    siri = siri[::-1]
    #print(shan, siri)
    i = -1
    j = n
    maxsum = 0
    sumy1 = sumy2 = 0
    while i<j:
        if sumy2==sumy1:
            maxsum=max(maxsum, sumy2)
            if shan[i+1]>=siri[j-1]:
                j -= 1
                sumy2 = siri[j]
            else:
                i += 1
                sumy1 = shan[i]
        elif sumy2 > sumy1:
            i += 1
            sumy1 = shan[i]
        else:
            j -= 1
            sumy2 = siri[j]
    print(maxsum)