COCI '17 Contest 3 #2 Programiranje

View as PDF

Submit solution

Points: 7 (partial)
Time limit: 3.0s
Memory limit: 64M

Problem type

Little Leticija is preparing for a programming exam. Even though she has solved a lot of tasks, there's one still left unsolved, so she is asking you for help.

You are given the word S and Q queries. In each query, you are given positive integers A, B, C and D.

Let's say that word X consists of letters between positions A and B in word S, and word Y from letters between positions C and D in word S. For each query, you must answer if it is possible to somehow rearrange the letters in word Y and obtain word X.

Input Specification

The first line of input contains the word S (1|S|50000). |S| denotes the number of characters in word S, which consists of lowercase letters of the English alphabet.

The second line of input contains the positive integer Q (1Q50000).

Each of the following Q lines contains four integers A, B, C, D (1AB|S| and 1CD|S|) from the task.

Output Specification

For each query, output DA (Croatian for yes) if it is possible, and NE (Croatian for no) if it is not.

Scoring

In test cases worth 50% of total points, it will hold: 1|S|1000 and 1Q1000.

Sample Input 1

Copy
kileanimal
2
2 2 7 7
1 4 6 7

Sample Output 1

Copy
DA
NE

Sample Input 2

Copy
abababba
2
3 5 1 3
1 2 7 8

Sample Output 2

Copy
DA
DA

Sample Input 3

Copy
vodevovode
2
5 8 3 6
2 5 3 6

Sample Output 3

Copy
NE
DA

Explanation for Sample Output 3

In the first query, X=vovo, and Y=devo. In the second query, X=odev, and Y=devo.


Comments

There are no comments at the moment.