1544 单复数转换


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

众所周知,英语中的单词有单数和复数两种形式。但是不同的单词的复数形式又不能一概而论。我现在告诉你几个规则,然后给出一些单词的单数形式,要你输出对应的复数形式。有如下四项规则(优先级从上到下):

1、 有些单词的复数形式比较特别,这些单词会以列表的形式先给出来,如果要求的单词在这些列表中的话,就根据列表里给出的形式列出来

2、 如果单词以”y”结尾且倒数第二个字符为辅音字符的话,则把y替换为”ies”

3、 如果单词以”o”、”s”、”ch”、”sh”、”x”中的某个字符串结尾,则直接在这个单词后面加上”es”

4、 如果上面都不符合,则直接在后面加上”s”

注:辅音字符是指除了a、o、e、i、u以外的字符。

Inputs: 输入的第一行给出两个整数L(0<=L<=20)和N(1<=N<=100),L代表特殊单词的个数,这些单词的复数形式会以列表形式给出,N代表要处理的单词个数。

接下来有L行,每行代表一个特殊单词的转换规则,先给出单数形式,再给出对应的复数形式。最后有N行,代表要处理的N个单词。每个单词的长度都不超过30。

Output

针对每个单词,输出其对应的复数形式。

Sample

Input

2 3
fish fish
ox oxen
strawberry
ox
peach

Output

strawberries
oxen
peaches

Source: z_y


Comments

There are no comments at the moment.