AT_arc227_a [ARC227A] Fermat Point of Binary Strings
Description
長さ $ 2N $ で、`0` と `1` をそれぞれ $ N $ 個含む文字列をよい文字列と呼びます。
よい文字列 $ S, T $ に対して、 $ S $ の隣り合う $ 2 $ 文字を入れ替える操作を $ 0 $ 回以上行って $ T $ に一致させるために必要な操作回数の最小値を $ \operatorname{dist}(S, T) $ とします。
よい文字列 $ A, B, C $ が与えられます。すべてのよい文字列 $ X $ のうち、
\\\[ \\operatorname{dist}(A, X)+\\operatorname{dist}(B, X)+\\operatorname{dist}(C, X) \\\]
の値を最小にするものを $ 1 $ つ求め、その最小値とともに出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A $ $ B $ $ C $
Output Format
求める最小値を $ K $ とし、それを達成するよい文字列を $ X $ とする。 以下の形式で $ K $ と $ X $ を出力せよ。
> $ K $ $ X $
条件を満たす出力が複数存在する場合、どれを出力してもよい。
Explanation/Hint
### Sample Explanation 1
よい文字列 $ X $ として `1010` を選ぶと、 $ \operatorname{dist}(A, X) $ 、 $ \operatorname{dist}(B, X) $ 、 $ \operatorname{dist}(C, X) $ はそれぞれ $ 1, 0, 3 $ となり、その和は $ 4 $ です。 距離の和を $ 4 $ より小さくすることはできません。
### Sample Explanation 2
入力された $ 3 $ つの文字列がすべて等しいため、 $ X $ に同じ文字列を選ぶと距離の和は $ 0 $ です。
### Constraints
- $ 1 \le N \le 2 \times 10^5 $
- $ A, B, C $ はそれぞれ長さ $ 2N $ のよい文字列
- $ N $ は整数