编程题
### 问题描述
小秋最近在研究字符串子序列的问题。
一个字符串的子序列是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。
现在小秋给你一个只包含小写字母的字符串 $s$(下标从 $1$ 开始),你需要回答小秋的 $q$ 次询问。每次询问小秋会给你一个区间 $\big[ l,r \big]$ 和一个只包含小写字母的字符串 $t$,你需要回答 $s$ 的子串 $s[l , r]$ 中是否存在子序列 $t$;如果存在,输出 `YES`,否则输出 `NO`。
### 输入格式
第 $1$ 行输入包含两个整数 $n,q$,表示字符串 $s$ 的长度和小秋的询问次数;
第 $2$ 行输入一个只包含小写字母的字符串,表示小秋给你的字符串 $s$;
接下来 $q$ 行,每行输入包含三个整数和一个只包含小写字母的字符串,表示区间 $\big[ l,r \big]$,询问的字符串长度 $m$ 和字符串 $t$;
### 输出格式
输出包含 $q$ 行,对于每次询问,如果存在,输出 `YES`,否则输出 `NO`。
### 样例输入
```
10 3
abceabdace
1 10 3 aee
5 10 2 ee
3 7 3 cad
```
### 样例输出
```
YES
NO
YES
```
### 评测数据规模
对于 $20$% 的评测数据,$1\leq n,q \leq 10^3$;
对于 $40$% 的评测数据,$1 \leq n,q \leq 10^4$;
对于 $100$% 的评测数据,$1 \leq n,q \leq 10^5$,$1 \leq m \leq 50$。