Andrew 正在为他的下一场比赛准备题目。他有两种类型的题目:简单题每道需要 $t_1$ 分钟准备,困难题每道需要 $t_2$ 分钟准备($t_1 < t_2$)。每天 Andrew 有 $d$ 分钟的时间可以用来准备题目。
Andrew 决定采用以下算法来选择准备题目的顺序:首先,他将所有要准备的题目排成一个固定的序列。每天,他都会从左到右遍历这个序列,每当遇到一个尚未准备好且当天有足够时间准备的题目时,他就准备该题目,然后继续向后遍历序列。注意,如果他遇到一个当前剩余时间不足以准备的题目,他不会停止遍历——因为序列后面可能还有耗时更短的题目。第二天,他会再次从序列的最开始重新遍历(当然,会跳过已经准备好的题目),以此类推,直到所有题目都准备完毕。
Andrew 想知道:这个算法是最优的吗?更准确地说,是否存在两个题目序列,它们包含相同的题目集合(换句话说,简单题和困难题的数量分别相同),但在 Andrew 遵循该算法的情况下,准备它们所需的天数却不同?
输入格式
输入文件的第一行包含测试用例的数量 $t$,$1 \le t \le 1000$。接下来的 $t$ 行,每行包含一个测试用例,由三个整数 $t_1, t_2$ 和 $d$ 描述,$1 \le t_1 < t_2 \le d \le 100$。同一输入文件中的所有测试用例均不相同。
输出格式
对于每个测试用例,输出两个题目序列,每行一个,使得 Andrew 的算法在准备它们时花费的天数不同,但题目集合相同。每个序列应不带空格地打印,字符 ‘E’ 表示简单题,字符 ‘H’ 表示困难题。每个序列的长度必须最多为 10000。保证如果存在解,则存在每个序列长度均不超过 10000 的解。如果对于某个特定的测试用例没有解,则在一行中打印 “OPTIMAL”。
样例
样例输入 1
2 1 2 2 1 2 3
样例输出 1
OPTIMAL EEEHHH HHHEEE
说明
在第二个样例中,序列 EEEHHH 需要 4 天来准备:第一天准备三道简单题,接下来的每一天准备一道困难题。与此同时,HHHEEE 包含相同的题目集合,却仅需 3 天:每天 Andrew 都会先准备一道困难题,然后跳过剩余的困难题直到遇到下一道简单题,因此他每天会准备一道困难题和一道简单题。