AT_code_festival_2017_qualb_f Largest Smallest Cyclic Shift
Description
[problemUrl]: https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_f
文字列 $ S $ に対し、 $ f(S) $ を $ S $ の巡回シフトのうち辞書順最小のものとします。 たとえば、 $ S\ = $`babca` のとき、 $ S $ の巡回シフト (`babca`, `abcab`, `bcaba`, `cabab`, `ababc`) のうち最小の `ababc` が $ f(S) $ となります。
あなたは、三個の整数 $ X,\ Y $, $ Z $ が与えられます。 あなたは、 `a` をちょうど $ X $ 個、`b` をちょうど $ Y $ 個、`c` をちょうど $ Z $ 個含む文字列 $ T $ を構成したいです。 そのような文字列が複数存在する場合は、 $ f(T) $ を辞書順で最大化したいです。
$ f(T) $ の辞書順での最大値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ X $ $ Y $ $ Z $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ X\ +\ Y\ +\ Z\ \leq\ 50 $
- $ X,\ Y,\ Z $ は非負整数である。
### Sample Explanation 1
$ T $ は `a` 二個と `b` 二個からならなければなりません。 - $ T\ = $`aabb` のとき $ f(T)\ = $`aabb`. - $ T\ = $`abab` のとき $ f(T)\ = $`abab`. - $ T\ = $`abba` のとき $ f(T)\ = $`aabb`. - $ T\ = $`baab` のとき $ f(T)\ = $`aabb`. - $ T\ = $`baba` のとき $ f(T)\ = $`abab`. - $ T\ = $`bbaa` のとき $ f(T)\ = $`aabb`. となるので、 $ f(T) $ の最大値は `abab` です。