#D6175. Three Substrings
Three Substrings
Three Substrings
Snuke has a string s. From this string, Anuke, Bnuke, and Cnuke obtained strings a, b, and c, respectively, as follows:
- Choose a non-empty (contiguous) substring of s (possibly s itself). Then, replace some characters (possibly all or none) in it with
?
s.
For example, if s is mississippi
, we can choose the substring ssissip
and replace its 1-st and 3-rd characters with ?
to obtain ?s?ssip
.
You are given the strings a, b, and c. Find the minimum possible length of s.
Constraints
- 1 \leq |a|, |b|, |c| \leq 2000
- a, b, and c consists of lowercase English letters and
?
s.
Input
Input is given from Standard Input in the following format:
a b c
Output
Print the minimum possible length of s.
Examples
Input
a?c der cod
Output
7
Input
atcoder atcoder ???????
Output
7
inputFormat
Input
Input is given from Standard Input in the following format:
a b c
outputFormat
Output
Print the minimum possible length of s.
Examples
Input
a?c der cod
Output
7
Input
atcoder atcoder ???????
Output
7
样例
a?c
der
cod
7