#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n; // 5

    int b[n+1]; // 1-based indexing
    for(int i = 1; i <= n; i++)
    {
        // index          1 2 3 4 5 
        cin >> b[i]; // 3 6 2 3 5 
    }

    int start = 1;
    int end = n;

    bool reversed = false; // Initially, no reversal // In starting no Number is reversed so we declare it as false 
    int turn = 0;
    int p1 = 0;
    int p2 = 0;
    int selected = 0;

    while(start <= end)
    {
        if(turn % 2 == 0) // p1's turn
        {
              //Iteration 1 :
              // 1st element we consider p1 
              // if(3 % 2 == 0) // zero remainder not coming so it is false becoz odd number is coming 
              // if(reversed == false)
             // p1 = p1 + b[1]
            //selected = b[1]
            //start++

            // Iteration 3: Now the array is -> 5, 3 , 2
            // 3rd element we consider p1 
            // if(5 % 2 == 0) // zero remainder not coming so it is false becoz odd number 
            // if(reversed == false)
            // p1 = p1 + b[3]
            // selected = b[3]
            // start++

            // Iteration 5 : Now the array is -> 2
            // 5th Element we consider p1
            // if( 2 % 2 == 0) // zero remainder has came so it even number came it is true but the it is the last number so we cant reverse the operation 
            // here we stop the iteration and print the answer 

            // 3  + 5  + 2  = total -> 10

            if(reversed == false) // Initially, no reversal // In starting no Number is reversed so we declare it as false 
            {
                p1 = p1 + b[start];
                selected = b[start];
                start++;
            }
            else
            {
                p1 = p1 + b[end];
                selected = b[end];
                end--;
            }
        }
        else // p2's turn
        {
            // Iteration 2: Now the array becomes 6 , 2 , 3 , 5 
            // 2nd Element we consider 6 as p2 
            // if(6 % 2 == 0) // Now zero remainder has came so it becomes true even number has come 6
            //if(reversed == true)
            // 6 = 6 + b[2]
            // selected = b[2]
            // start++

            //Iteration 4: Now the array becomes -> 3 , 2 
            // 4th Element we consider 3 as p2
            // if( 3 % 2 == 0)  // Now zero remainder has not came so it becomes false it means odd number there 
            // if(reversed == false)
            // 3 = 3 + b[4]
            // selected = b[4]
            //start++

            // 6  + 3  = total -> 9 
            if(reversed == false) // Initially, no reversal // In starting no Number is reversed so we declare it as false 
            {
                p2 = p2 + b[start];
                selected = b[start];
                start++;
            }
            else
            {
                p2 = p2 + b[end];
                selected = b[end];
                end--;
            }
        }

        // Iteration 2: Even number has occured 6 , 2 , 3 , 5 
        // remove 6 and reverse the array -> 5 , 3 , 2 
        if(selected % 2 == 0) // Reverse the direction if the selected number is even
        {
            reversed = !reversed;
        }

        turn++;
    }

    cout << "p1 -> "<< p1 <<endl;
    cout<<"p2 -> "<<p2 <<endl;
    cout<<"p1 - p2 ->  "<<p1-p2;
}
