Một mảng được gọi là "Mountainous" (dạng núi) nếu nó tăng nghiêm ngặt rồi sau đó giảm nghiêm ngặt. Lưu ý rằng các mảng Mountainous do đó phải có độ dài từ ba trở lên.
Một mảng con (Subarray) được định nghĩa là một mảng có thể thu được bằng cách xóa một số tiền tố và hậu tố (có thể rỗng) từ mảng ban đầu.
Một mảng hoặc mảng con được gọi là "Palindrome" (đối xứng) nếu nó là cùng một dãy số khi đọc từ trái sang phải và từ phải sang trái.
Cho một mảng các số nguyên, hãy tính độ dài của mảng con dài nhất vừa là Mountainous vừa là Palindrome.
Dữ liệu vào
Dòng đầu tiên của dữ liệu vào chứa một số nguyên $n$ ($1 \le n \le 10^6$), là số lượng các số nguyên trong mảng.
Mỗi dòng trong $n$ dòng tiếp theo chứa một số nguyên $x$ ($1 \le x \le 10^9$). Các giá trị này tạo thành mảng và được đưa ra theo thứ tự.
Dữ liệu ra
In ra một số nguyên duy nhất là độ dài của mảng con Mountainous đối xứng dài nhất, hoặc $-1$ nếu không tồn tại mảng như vậy.
Ví dụ
Dữ liệu vào 1
8 2 1 2 3 2 1 7 8
Dữ liệu ra 1
5
Dữ liệu vào 2
5 2 5 8 7 2
Dữ liệu ra 2
-1