AT_panasonic2020_e Three Substrings
Description
[problemUrl]: https://atcoder.jp/contests/panasonic2020/tasks/panasonic2020_e
すぬけ君は、文字列 $ s $ を持っています。 あぬけ君、ぶぬけ君、くぬけ君は次のような方法でそれぞれ文字列 $ a,\ b,\ c $ を得ました。
- $ s $ の空でない ($ s $ 全体であってもよい) 連続な部分文字列を一つ選ぶ。その部分文字列のうちいくつかの文字 ($ 0 $ 個や全部であってもよい) を `?` で置き換える。
たとえば、$ s $ が `mississippi` であるとき、部分文字列として `ssissip` を選び、その $ 1,\ 3 $ 文字目を `?` で置き換えることで `?s?ssip` を得ることができます。
文字列 $ a,\ b,\ c $ が与えられます。 $ s $ の長さとして考えられる最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ a $ $ b $ $ c $
Output Format
$ s $ の長さとして考えられる最小値を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ |a|,\ |b|,\ |c|\ \leq\ 2000 $
- $ a,\ b,\ c $ は英小文字と `?` からなる。
### Sample Explanation 1
たとえば、$ s $ が `atcoder` のとき条件を満たします。
### Sample Explanation 2
$ a,\ b,\ c $ は相異なるとは限りません。