1384: Slurpys

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

Recognizing strings based on a set of restrictions is a common computational problem. A Slurpy is a string of characters that has certain properties. Your program will read in strings of characters and output whether or not they are Slurpys. A Slump is a character string that has the following properties: 1. Its first character is either a ‘D‘ or an ‘E‘. 2. The first character is followed by a string of one or more ‘F‘s. 3. The string of one or more ‘F‘s is followed by either a Slump or a ‘G‘. The Slump or ‘G‘ that follows the F‘s ends the Slump. For example DFFEFFFG is a Slump since it has a ‘D‘ for its first character, followed by a string of two F‘s, and ended by the Slump ‘EFFFG‘. 4. Nothing else is a Slump. A Slimp is a character string that has the following properties: 1. Its first character is an ‘A‘. 2. If it is a two character Slimp then its second and last character is an ‘H‘. 3. If it is not a two character Slimp then it is in one of these two forms: a) ‘A‘ followed by ‘B‘ followed by a Slimp followed by a ‘C‘. b) ‘A‘ followed by a Slump (see above) followed by a ‘C‘. 4. Nothing else is a Slimp. A Slurpy is a character string that consists of a Slimp followed by a Slump. Examples
Slumps:        DFG, EFG, DFFFFFG, DFDFDFDFG, DFEFFFFFG
Not Slumps:    DFEFF, EFAHG, DEFG, DG, EFFFFDG
Slimps:        AH, ABAHC, ABABAHCC, ADFGC, ADFFFFGC, ABAEFGCC, ADFDFGC
Not Slimps:    ABC, ABAH, DFGC, ABABAHC, SLIMP, ADGC
Slurpys:       AHDFG, ADFGCDFFFFFG, ABAEFGCCDFEFFFFFG
Not Slurpys:   AHDFGA, DFGAH, ABABCC

输入

The first line contains an integer N between 1 and 10 describing how many strings of characters are represented. The next N lines each contain a string of 1 to 60 alpha characters.

输出

Each of the N lines of output should consist of either YES or NO depending on whether or not the corresponding input line is a Slurpy.

样例输入 复制

2
AHDFG
DFGAH

样例输出 复制

YES
NO