import java.util.Scanner;

public class MaxSalesRecursion {

    // Recursive function to find maximum sales
    static int findMax(int[] sales, int n) {
        if (n == 1) {
            return sales[0];
        }
        int maxRest = findMax(sales, n - 1);
        return Math.max(sales[n - 1], maxRest);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // Check if n is an integer
        if (!sc.hasNextInt()) {
            System.out.println("Invalid input");
            return;
        }

        int n = sc.nextInt();

        // Validate n (must be non-negative)
        if (n < 0) {
            System.out.println("Invalid input");
            return;
        }

        int[] sales = new int[n];

        // Read sales values
        for (int i = 0; i < n; i++) {
            if (!sc.hasNextInt()) {
                System.out.println("Invalid input");
                return;
            }
            sales[i] = sc.nextInt();
        }

        // If n = 0, no sales values → invalid
        if (n == 0) {
            System.out.println("Invalid input");
            return;
        }

        // Print maximum sales value using recursion
        System.out.println(findMax(sales, n));

        sc.close();
    }
}
