P16018 [ICPC 2021 NAC] Mountainous Palindromic Subarray

Description

An array is *Mountainous* if it is strictly increasing, then strictly decreasing. Note that *Mountainous* arrays must therefore be of length three or greater. A *Subarray* is defined as an array that can be attained by deleting some prefix and suffix (possibly empty) from the original array. An array or subarray is a *Palindrome* if it is the same sequence forwards and backwards. Given an array of integers, compute the length of the longest *Subarray* that is both *Mountainous* and a *Palindrome*.

Input Format

The first line of input contains an integer $n$ ($1 \le n \le 10^6$), which is the number of integers in the array. Each of the next $n$ lines contains a single integer $x$ ($1 \le x \le 10^9$). These values form the array. They are given in order.

Output Format

Output a single integer, which is the length of the longest *Mountainous Palindromic Subarray*, or $-1$ if no such array exists.