Kid, let's have some fun.
Wait, Karlson, I need to do my homework.
Kid, do you know who is the best homework solver in the world?
And who is that?
Kid, that's me! What did your teacher assign to you?!
The teacher gave me a large number, and told me to solve problems like this: pick two numbers and , write out all digits from the given number starting from position up to position inclusive, drop any leading zeros if there are any, and check if the resulting number is divisible by .
Pff, that's it?! I can solve a hundred thousand of these in a second.
But Karlson, sometimes some digits in the number change.
That's nothing to worry about, Kid!
In this problem, Karlson has promised Kid more than he can do again. You'll have to help him: write a program that will answer Kid's questions.
The first line contains a single number of length (1 \leq N \leq 10^6) — the number given to Kid. Then comes the number (1 \leq M \leq 10^5) — the number of queries. The following lines contain three numbers each — the type of query, , and . Each query with number means you need to write out all digits from positions to inclusive (positions are numbered starting from one) and check if the resulting number is divisible by ; a query with number means that the digit at position is now .
For each query of type , output "Yes" if the number is divisible by , and "No" otherwise.
Example 1