#A2037. Programiranje

Programiranje

题目描述

Little Leticija正在准备编程考试。虽然她已经解决了很多任务,但还有一个任务尚未解决,所以她正在向你寻求帮助。您将获得单词S和Q查询。在每个查询中,给出正整数A,B,C和D.假设单词X由单词S中位置A和B之间的字母组成,而单词S中位置C和D之间的字母组成单词Y.如果可以以某种方式重新排列单词Y中的字母并获得单词X,则输出“DA”,否则输出“NE”。

输入输出格式

输入格式:

第一行输入包含单词S(1≤| S |≤50000)。| S | 表示单词S中的字符数,由英文字母的小写字母组 成。

第二行输入包含正整数Q(1≤Q≤50000)。

以下Q行中的每一行包含来自任务的四个整数A,B,C , D(1≤A≤B≤|S|且1≤C≤D≤|S|)。

输出格式:

对于每个查询,如果可能,输出“DA”,如果不可能,则输出“NE”。

说明

在总分为50%的测试用例中,它将保持:1≤| S | ≤1000且1≤Q≤1000。

澄清第三个测试用例:

在第一个查询中,X =“vovo”,Y =“devo”。在第二个查询中,X =“odev”,Y =“devo”。

kileanimal
2
2 2 7 7
1 4 6 7

DA
NE
abababba
2
3 5 1 3
1 2 7 8

DA
DA

vodevovode
2
5 8 3 6
2 5 3 6

NE
DA