using
System;
using
System.Collections;
using
System.Collections.Generic;
using
System.Linq;
class
HelloWorld {
public
static
int
maxLength(
string
[] A)
{
List<
string
> dp =
new
List<
string
> ();
for
(
int
i = 0; i < 26; i++){
string
temp =
""
;
for
(
int
j = 0; j < 26; j++){
temp = temp +
"0"
;
}
dp.Add(temp);
}
int
res = 0;
for
(
int
i = 0; i < A.Length; i++){
string
s = A[i];
List<
char
> a =
new
List<
char
>();
for
(
int
indx = 0; indx < 26; indx++){
a.Add(
'0'
);
}
for
(
int
j = 0; j < s.Length; j++){
a[System.Convert.ToInt32(s[j]) - 97] =
'1'
;
}
int
n = 0;
for
(
int
j = 0; j < a.Count; j++){
if
(a[j] ==
'1'
) n = n + 1;
}
if
(n < s.Length)
continue
;
for
(
int
j = dp.Count - 1; j >= 0; --j) {
string
c = dp[j];
for
(
int
k = 0; k < 26; k++){
if
(c[k] ==
'1'
&& a[k] ==
'1'
)
continue
;
}
string
temp =
""
;
for
(
int
k = 0; k < 26; k++){
if
(c[k] ==
'1'
|| a[k] ==
'1'
) temp = temp +
"1"
;
else
temp = temp +
"0"
;
}
dp.Add(temp);
int
c_count = 0;
for
(
int
k = 0; k < 26; k++){
if
(c[k] ==
'1'
) c_count++;
}
res = Math.Max(res, c_count + n-2);
}
}
return
res;
}
static
void
Main() {
string
[] v = {
"ab"
,
"cd"
,
"ab"
};
int
ans = maxLength(v);
Console.WriteLine(ans);
}
}