/* package whatever; // don't place package name! */
import java.util.*;import java.util.stream.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
new Ideone().a("Establishments");
}
void a
(String a
){a
=a.
replaceAll("\\p{Upper}",
"$0$0").
toLowerCase();List
<List
<String
>>b
=b
(a
),c
;b.
removeIf(d
->d.
stream().
anyMatch(e
->e.
matches(".*(.).*\\1.*")));b.
removeIf(d
->{for(String e
:d
)for(String f
:d
)if(e
!=f
&e.
length()==f.
length())return 1>0;return 1<0;});c
=new ArrayList(b
);for(List
<String
>d
:b
)for(List
<String
>e
:b
){if(d
==e
)continue;int f
=0,g
=0;List h
=new ArrayList(),i
=new ArrayList();for(String j
:d
)h.
add(f
+=j.
length());for(String k
:e
)i.
add(g
+=k.
length());if(i.
containsAll(h
))c.
remove(d
);else if(h.
containsAll(i
))c.
remove(e
);}b
=c
;int d
=-1;for(List e
:b
)d
=d
<0?c
(e
):Math.
min(c
(e
),d
);System.
out.
println(d
<0?"evil":d
);}int c
(List
<String
>a
){List
<Integer
>b
=a.
stream().
map(c
->c.
length()).
collect(Collectors.
toList()),d
;int e
=d
(b.
toArray(new Integer[0])),f
=0,g
=0,h
;d
=b.
stream().
map(A
->e
/A
).
collect(Collectors.
toList());Map
<Character,Integer
>i
=new HashMap(),j
=new HashMap();for(;g
<a.
size();g
++){h
=d.
get(g
);String k
=a.
get(g
);for(char l
:k.
toCharArray()){i.
put(l,i.
getOrDefault(l,
0)+1);j.
put(l,j.
getOrDefault(l,
0)+h
);}}for(char k
:i.
keySet())f
+=i.
get(k
)*j.
get(k
);return f
;}int d
(Integer...
a){int b
=a.
length,c,d,e
;if(b
<2)return a
[0];if(b
>2)return d
(a
[b
-1],d
(Arrays.
copyOf(a,b
-1)));c
=a
[0];d
=a
[1];for(;d
>0;d
=c
%d,c
=e
)e
=d
;return a
[0]*a
[1]/c
;}List b
(String a
){List
<List
>b
=new ArrayList(),c
;for(int i
=0;++i
<a.
length();b.
addAll(c
)){String d
=a.
substring(0,i
),e
=a.
substring(i
);c
=b
(e
);for(List f
:c
)f.
add(0,d
);}b.
add(new ArrayList(Arrays.
asList(a
)));return b
;} }
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qO2ltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJbmV3IElkZW9uZSgpLmEoIkVzdGFibGlzaG1lbnRzIik7Cgl9CgkKCXZvaWQgYShTdHJpbmcgYSl7YT1hLnJlcGxhY2VBbGwoIlxccHtVcHBlcn0iLCIkMCQwIikudG9Mb3dlckNhc2UoKTtMaXN0PExpc3Q8U3RyaW5nPj5iPWIoYSksYztiLnJlbW92ZUlmKGQtPmQuc3RyZWFtKCkuYW55TWF0Y2goZS0+ZS5tYXRjaGVzKCIuKiguKS4qXFwxLioiKSkpO2IucmVtb3ZlSWYoZC0+e2ZvcihTdHJpbmcgZTpkKWZvcihTdHJpbmcgZjpkKWlmKGUhPWYmZS5sZW5ndGgoKT09Zi5sZW5ndGgoKSlyZXR1cm4gMT4wO3JldHVybiAxPDA7fSk7Yz1uZXcgQXJyYXlMaXN0KGIpO2ZvcihMaXN0PFN0cmluZz5kOmIpZm9yKExpc3Q8U3RyaW5nPmU6Yil7aWYoZD09ZSljb250aW51ZTtpbnQgZj0wLGc9MDtMaXN0IGg9bmV3IEFycmF5TGlzdCgpLGk9bmV3IEFycmF5TGlzdCgpO2ZvcihTdHJpbmcgajpkKWguYWRkKGYrPWoubGVuZ3RoKCkpO2ZvcihTdHJpbmcgazplKWkuYWRkKGcrPWsubGVuZ3RoKCkpO2lmKGkuY29udGFpbnNBbGwoaCkpYy5yZW1vdmUoZCk7ZWxzZSBpZihoLmNvbnRhaW5zQWxsKGkpKWMucmVtb3ZlKGUpO31iPWM7aW50IGQ9LTE7Zm9yKExpc3QgZTpiKWQ9ZDwwP2MoZSk6TWF0aC5taW4oYyhlKSxkKTtTeXN0ZW0ub3V0LnByaW50bG4oZDwwPyJldmlsIjpkKTt9aW50IGMoTGlzdDxTdHJpbmc+YSl7TGlzdDxJbnRlZ2VyPmI9YS5zdHJlYW0oKS5tYXAoYy0+Yy5sZW5ndGgoKSkuY29sbGVjdChDb2xsZWN0b3JzLnRvTGlzdCgpKSxkO2ludCBlPWQoYi50b0FycmF5KG5ldyBJbnRlZ2VyWzBdKSksZj0wLGc9MCxoO2Q9Yi5zdHJlYW0oKS5tYXAoQS0+ZS9BKS5jb2xsZWN0KENvbGxlY3RvcnMudG9MaXN0KCkpO01hcDxDaGFyYWN0ZXIsSW50ZWdlcj5pPW5ldyBIYXNoTWFwKCksaj1uZXcgSGFzaE1hcCgpO2Zvcig7ZzxhLnNpemUoKTtnKyspe2g9ZC5nZXQoZyk7U3RyaW5nIGs9YS5nZXQoZyk7Zm9yKGNoYXIgbDprLnRvQ2hhckFycmF5KCkpe2kucHV0KGwsaS5nZXRPckRlZmF1bHQobCwwKSsxKTtqLnB1dChsLGouZ2V0T3JEZWZhdWx0KGwsMCkraCk7fX1mb3IoY2hhciBrOmkua2V5U2V0KCkpZis9aS5nZXQoaykqai5nZXQoayk7cmV0dXJuIGY7fWludCBkKEludGVnZXIuLi5hKXtpbnQgYj1hLmxlbmd0aCxjLGQsZTtpZihiPDIpcmV0dXJuIGFbMF07aWYoYj4yKXJldHVybiBkKGFbYi0xXSxkKEFycmF5cy5jb3B5T2YoYSxiLTEpKSk7Yz1hWzBdO2Q9YVsxXTtmb3IoO2Q+MDtkPWMlZCxjPWUpZT1kO3JldHVybiBhWzBdKmFbMV0vYzt9TGlzdCBiKFN0cmluZyBhKXtMaXN0PExpc3Q+Yj1uZXcgQXJyYXlMaXN0KCksYztmb3IoaW50IGk9MDsrK2k8YS5sZW5ndGgoKTtiLmFkZEFsbChjKSl7U3RyaW5nIGQ9YS5zdWJzdHJpbmcoMCxpKSxlPWEuc3Vic3RyaW5nKGkpO2M9YihlKTtmb3IoTGlzdCBmOmMpZi5hZGQoMCxkKTt9Yi5hZGQobmV3IEFycmF5TGlzdChBcnJheXMuYXNMaXN0KGEpKSk7cmV0dXJuIGI7fQp9