有M行诗句每行包含一个大写字母ei。所有字母等于ei的行必须以同一类型的句子结尾。不同ei值的行必须以不同的类型的句子结尾。假设有N种不同的句子类型我们可以用counti表示第i种句子类型的情况数。同一种类型结尾但是不同句子属于不同情况诗歌顺序交换属于不同情况
的情况数。
根据题意,同一种类型的句子必须以相同的字母结尾,所以对于每个字母ei,我们需要将所有以ei结尾的行分成不同的句子类型。假设有x种不同的句子类型以ei结尾,那么count[i] = x。
对于不同的ei值,我们需要保证它们对应的句子类型是不同的。所以我们可以将N个句子类型分成若干个组,每个组中的句子类型对应不同的ei值。假设有y个组,那么对于每个组k,我们有count[k] = N