CSES - Palindrome Queries
• Time limit: 1.00 s
• Memory limit: 512 MB
You are given a string that consists of $n$ characters between a–z. The positions of the string are indexed $1,2,\dots,n$.

Your task is to process $m$ operations of the following types:
1. Change the character at position $k$ to $x$
2. Check if the substring from position $a$ to position $b$ is a palindrome
Input

The first input line has two integers $n$ and $m$: the length of the string and the number of operations.

The next line has a string that consists of $n$ characters.

Finally, there are $m$ lines that describe the operations. Each line is of the form "1 $k$ $x$" or "2 $a$ $b$".

Output

For each operation 2, print YES if the substring is a palindrome and NO otherwise.

Constraints
• $1 \le n, m \le 2 \cdot 10^5$
• $1 \le k \le n$
• $1 \le a \le b \le n$
Example

Input:
7 5 aybabtu 2 3 5 1 3 x 2 3 5 1 5 x 2 3 5

Output:
YES NO YES