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` です。