각 질의마다 문자열 S의 두 부분 문자열이 서로 애너그램인지 판정해 DA 또는 NE를 출력한다.
레티치야는 프로그래밍 시험을 준비하고 있다. 문제를 많이 풀었지만 아직 한 문제가 남아서 너에게 도움을 청했다.
문자열 SSS와 QQQ개의 질의가 주어진다. 각 질의마다 양의 정수 AAA, BBB, CCC, DDD가 주어진다. SSS의 AAA번째 문자부터 BBB번째 문자까지를 이어 붙인 문자열을 XXX, CCC번째 문자부터 DDD번째 문자까지를 이어 붙인 문자열을 YYY라고 하자.
각 질의마다 YYY의 문자를 재배열해서 XXX를 만들 수 있는지 판단하라.
첫째 줄에 문자열 SSS가 주어진다. SSS는 영어 소문자로만 이루어져 있고, 길이는 1≤∣S∣≤500001 \le |S| \le 500001≤∣S∣≤50000이다. ∣S∣|S|∣S∣는 SSS의 문자 개수를 뜻한다.
둘째 줄에 질의의 개수 QQQ가 주어진다. (1≤Q≤50000)(1 \le Q \le 50000)(1≤Q≤50000)
다음 QQQ개의 줄에 네 정수 AAA, BBB, CCC, DDD가 주어진다. (1≤A≤B≤∣S∣, 1≤C≤D≤∣S∣)(1 \le A \le B \le |S|,\ 1 \le C \le D \le |S|)(1≤A≤B≤∣S∣, 1≤C≤D≤∣S∣)
각 질의마다 한 줄에 답을 출력한다. YYY를 재배열해서 XXX를 만들 수 있으면 DA를, 만들 수 없으면 NE를 출력한다. DA와 NE는 크로아티아어로 각각 예와 아니오를 뜻한다.
세 번째 예제의 첫 번째 질의에서는 XXX가 vovo, YYY가 devo이다. 두 번째 질의에서는 XXX가 odev, YYY가 devo이다.