AT_abc384_c [ABC384C] Perfect Standings
Description
高橋くんは、プログラミングコンテストを主催することにしました。
コンテストは A 問題、B 問題、C 問題、D 問題、E 問題の $ 5 $ 問からなり、それぞれの配点は $ a $ 点、 $ b $ 点、 $ c $ 点、 $ d $ 点、 $ e $ 点です。
コンテストには $ 31 $ 人が参加し、全員が $ 1 $ 問以上解きました。
より具体的には、文字列 `ABCDE` の空でない(連続するとは限らない)部分列すべてについて、その部分列を名前とする参加者が存在し、その参加者は名前に含まれる文字に対応する問題をすべて解き、それ以外の問題は解きませんでした。
例えば、A さんは A 問題のみを、BCE さんは B 問題、C 問題、E 問題を解きました。
参加者の名前を、取った点数が大きいほうから順に出力してください。 ただし、参加者が取った点数は、その参加者が解いた問題の配点の合計です。
ただし、同じ点数を獲得した参加者については、名前が辞書順で小さいほうを先に出力してください。
辞書順で小さいとは?辞書順とは、一言で説明すると「単語が辞書に載っている順番」を意味します。
より厳密には、英大文字からなる相異なる文字列 $ S,T $ について、 $ S $ が $ T $ より辞書順で小さいとは、以下の条件のどちらかが成り立つことを意味します。
- $ S $ の長さ $ |S| $ が $ T $ の長さより短く、 $ T $ の先頭 $ |S| $ 文字が $ S $ と一致する
- ある整数 $ 1\leq i\leq\min\lbrace|S|,|T|\rbrace $ が存在して、次の $ 2 $ つの条件を両方を満たす
- $ 1\leq j\lt i $ を満たすすべての整数 $ j $ に対して $ S $ の $ j $ 文字目と $ T $ の $ j $ 文字目が等しい
- $ S $ の $ i $ 文字目が $ T $ の $ i $ 文字目よりアルファベット順で小さい
例えば、 $ S= $ `AB` $ ,T= $ `ABC` とすると、ひとつめの条件が成り立つため $ S $ は $ T $ より小さいです。 また、 $ S= $ `ABD` $ ,T= $ `ACD` とすると、ふたつめの条件が $ i=2 $ で成り立つため $ S $ は $ T $ より小さいです。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ a $ $ b $ $ c $ $ d $ $ e $
Output Format
$ 31 $ 行出力せよ。 $ i $ 行目 $ (1\leq i\leq 31) $ には、 $ i $ 番目に高い得点を獲得した参加者の名前を出力せよ。 同じ得点を獲得した参加者については、それらのうち辞書順で小さい名前をもつ参加者を先に出力せよ。
Explanation/Hint
### Sample Explanation 1
それぞれの参加者の得点は以下のようになります。

例えば、ADE さんと BCE さんは同じ得点を獲得していますが、ADE さんのほうが辞書順で小さい名前をもつため、ADE さんを先に出力してください。
### Constraints
- $ 100\leq a\leq b\leq c\leq d\leq e\leq 2718 $
- 入力はすべて整数