// Arup Guha
// 11/16/2014
// Solution to 2014 South East Regional D2 Problem: Marbles

import java.util.*;

public class marbles {

	public static void main(String[] args) {

		Scanner stdin = new Scanner(System.in);
		int n = stdin.nextInt();

		// Read in values, also sum odd and even.
		int[] vals = new int[n];
		int oddSum = 0, evenSum = 0;
		for (int i=0; i<n; i++) {
			vals[i] = stdin.nextInt();
			if (i%2 == 0) evenSum += vals[i];
			else          oddSum += vals[i];
		}
		int sum = oddSum + evenSum;

		// Just treat as special cases.
		if (n == 1) 	 System.out.println("0 0");
		else if (n == 2) System.out.println(sum+" "+Math.min(oddSum, evenSum));
		else if (n == 3) System.out.println((2*sum)+" "+(vals[0]+vals[2]));
		else if (n == 4) System.out.println((2*sum)+" "+Math.min(vals[0]+vals[2]+2*vals[3], vals[3]+vals[1]+2*vals[0]));

		// Can run a dp nere.
		else {

			// Best scores for piles ending at 1, 2 or 3.
			int[] dp = new int[n];
			dp[1] = vals[0];
			dp[2] = 2*vals[0] + vals[1];
			dp[3] = dp[1] + vals[2];

			// Must always build the next pile 2 or 3 after the previous pile.
			for (int i=4; i<n-1; i++)
				dp[i] = Math.min(dp[i-2]+vals[i-1], dp[i-3]+vals[i-1]+vals[i-2]);

			// Have to add in the right end.
			dp[n-2] += vals[n-1];
			dp[n-3] += (vals[n-2]+2*vals[n-1]);

			// Here is the result.
			System.out.print((2*sum)+" "+Math.min(dp[n-2], dp[n-3]));
		}
	}
}