Codeforces Round 1133 (Div. 1, Div. 2) is coming soon! Register here. ×

A. Brushfire
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Tony loves tacos! Tony also loves cats! Tacocat?

Anyways, Tony received a string for his birthday from his favorite taco joint, Torchy's. Since Tony clearly has an affinity for palindromes, he wants to find out whether or not it is possible for him to turn his string into a palindrome by changing at most one of its letters to another letter of his choosing. A string is a palindrome if it reads the same forwards and backwards. Put more formally, if his letters were labelled $$$s_1, s_2, \dots, s_n$$$, then it is the case that $$$s_i = s_{n - i + 1}$$$ for each $$$i \in \{1, 2, \dots, n\}$$$.

Input

The input will begin with a single line containing a single integer $$$n\ (1 \leq n \leq 10^5)$$$, denoting the length of Tony's string.

The next line will contain a single string $$$s$$$ of length $$$n$$$, Tony's string, consisting of only lowercase English letters.

Output

The output should consist of a single line containing either "YES" or "NO" (case insensitive, with no quotation marks), based on whether or not Tony can turn his string into a palindrome.

Examples
Input
7
tacocat
Output
YES
Input
9
brushfire
Output
NO
Note

In the first example test case, Tony's string is already a palindrome.

In the second example test case, it can be proven that Tony's string cannot possibly be turned into a palindrome by changing at most one of its letters.