CSES - Palindrome Queries
  • Time limit: 1.00 s
  • Memory limit: 512 MB

You are given a string that consists of nn characters between a–z. The positions of the string are indexed 1,2,,n1,2,\dots,n.

Your task is to process mm operations of the following types:

  1. Change the character at position kk to xx
  2. Check if the substring from position aa to position bb is a palindrome

Input

The first input line has two integers nn and mm: the length of the string and the number of operations.

The next line has a string that consists of nn characters.

Finally, there are mm lines that describe the operations. Each line is of the form "1 kk xx" or "2 aa bb".

Output

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

Constraints

  • 1n,m21051 \le n, m \le 2 \cdot 10^5
  • 1kn1 \le k \le n
  • 1abn1 \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