프로그래밍 시험

각 질의마다 문자열 S의 두 부분 문자열이 서로 애너그램인지 판정해 DA 또는 NE를 출력한다.

보통4누적 합해시맵문자열아직 제출이 없습니다시간 제한3초메모리 제한128 MB

문제

레티치야는 프로그래밍 시험을 준비하고 있다. 문제를 많이 풀었지만 아직 한 문제가 남아서 너에게 도움을 청했다.

문자열 SSQQ개의 질의가 주어진다. 각 질의마다 양의 정수 AA, BB, CC, DD가 주어진다. SSAA번째 문자부터 BB번째 문자까지를 이어 붙인 문자열을 XX, CC번째 문자부터 DD번째 문자까지를 이어 붙인 문자열을 YY라고 하자.

각 질의마다 YY의 문자를 재배열해서 XX를 만들 수 있는지 판단하라.

입력

첫째 줄에 문자열 SS가 주어진다. SS는 영어 소문자로만 이루어져 있고, 길이는 1S500001 \le |S| \le 50000이다. S|S|SS의 문자 개수를 뜻한다.

둘째 줄에 질의의 개수 QQ가 주어진다. (1Q50000)(1 \le Q \le 50000)

다음 QQ개의 줄에 네 정수 AA, BB, CC, DD가 주어진다. (1ABS, 1CDS)(1 \le A \le B \le |S|,\ 1 \le C \le D \le |S|)

출력

각 질의마다 한 줄에 답을 출력한다. YY를 재배열해서 XX를 만들 수 있으면 DA를, 만들 수 없으면 NE를 출력한다. DA와 NE는 크로아티아어로 각각 예와 아니오를 뜻한다.

힌트

세 번째 예제의 첫 번째 질의에서는 XX가 vovo, YY가 devo이다. 두 번째 질의에서는 XX가 odev, YY가 devo이다.