AT_abc271_d [ABC271D] Flip and Adjust

Description

[problemUrl]: https://atcoder.jp/contests/abc271/tasks/abc271_d 両面に整数が書かれたカードが $ N $ 枚あり、$ i\ \,\ (1\ \leq\ i\ \leq\ N) $ 枚目のカードの表には $ a_i $ が、裏には $ b_i $ が書かれています。 あなたは、それぞれのカードについて、表を上に向けて置くか裏を上に向けて置くかを自由に決めることができます。 上に向けられた面に書かれた整数の総和がちょうど $ S $ となるようにカードを置くことができるか判定し、可能ならそのようなカードの置き方の一例を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S $ $ a_1 $ $ b_1 $ $ \vdots $ $ a_N $ $ b_N $

Output Format

まず、上に向けられた面に書かれた整数の総和がちょうど $ S $ となるようにカードを置くことができるならば `Yes` を、できなければ `No` を出力し、改行せよ。 さらに、そのようにカードを置くことができるならば、カードの置き方を表す `H` および `T` のみからなる長さ $ N $ の文字列を出力せよ。 この文字列の $ i\ \,\ (1\ \leq\ i\ \leq\ N) $ 文字目は、$ i $ 枚目のカードを表を上に向けて置くなら `H`、裏を上に向けて置くなら `T` でなければならない。 条件を満たすカードの置き方が複数考えられる場合、どれを出力しても正解となる。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 100 $ - $ 1\ \leq\ S\ \leq\ 10000 $ - $ 1\ \leq\ a_i,\ b_i\ \leq\ 100\ \,\ (1\ \leq\ i\ \leq\ N) $ - 入力は全て整数 ### Sample Explanation 1 例えば次のように置くことで、上に向けられた面に書かれた整数の総和がちょうど $ S\ (=\ 11) $ となります。 - $ 1 $ 枚目は表、$ 2 $ 枚目は裏、$ 3 $ 枚目は裏を上に向けて置く。 - $ 1 $ 枚目は裏、$ 2 $ 枚目は表、$ 3 $ 枚目は表を上に向けて置く。 よって、`HTT` や `THH` といった出力が正解となります。 ### Sample Explanation 2 上に向けられた面に書かれた整数の総和がちょうど $ S\ (=\ 25) $ となるようにカードを置くことはできません。