#CF2045A. A. 打乱的拼字游戏

A. 打乱的拼字游戏

A. 打乱的拼字游戏
每个测试点时间限制:11
每个测试点内存限制:10241024 兆字节

你正在玩一个单词游戏,使用标准的 2626 个大写英文字母:A — Z。在这个游戏中,可以按如下规则组成元音和辅音:

  • 字母 A、E、I、O、U 只能用作元音。
  • 字母 Y 可以用作元音或辅音。
  • 除 A、E、I、O、U、Y 之外的其余字母只能用作辅音。
  • 字符串 NG 连在一起时可以当作一个辅音。

定义一个音节为:一个辅音、一个元音、一个辅音按顺序拼接而成。一个单词是一个或多个音节拼接而成。

给你一个字符串 SS,你想用其中的字母组成一个单词。你可以从 SS 中删除任意多个字母(也可以不删),然后将剩下的字母重新排列以形成单词。请找出能组成的最长单词的长度,如果无法组成任何单词,则输出 00

输入
一行,包含一个字符串 SS1S50001 \le |S| \le 5000)。字符串 SS 只包含大写英文字母。

输出
如果无法组成单词,输出 00;否则,输出一个整数,表示能组成的最长单词的长度。

样例

输入

ICPCJAKARTA

输出

9

输入

NGENG

输出

5

输入

YYY

输出

3

输入

DANGAN

输出

6

输入

AEIOUY

输出

0

样例解释

  • 对于样例 #1:一个可能的最长单词是 JAKCARTAP,由音节 JAKCARTAP 组成。
  • 对于样例 #2:整个字符串 SS 本身就是一个单词,它只包含一个音节:辅音 NG、元音 E、辅音 NG 按顺序拼接。
  • 对于样例 #3:整个字符串 SS 本身就是一个单词,它只包含一个音节:辅音 Y、元音 Y、辅音 Y
  • 对于样例 #4:整个字符串 SS 本身就是一个单词,由两个音节组成:DANGAN