Bạn được cho một chuỗi s chỉ bao gồm 20 chữ cái Latin viết thường đầu tiên (a, b, …, t).
Một chuỗi con s[l; r] của s là dãy ký tự từ vị trí l đến r: s[l; r] = sl + sl + 1 … sr. Ví dụ, các chuỗi con của codeforces bao gồm code, force, f, for nhưng không bao gồm coder hay ford.
Bạn được phép thực hiện không quá một lần thao tác sau:
Chọn một chuỗi con s[l; r] và đảo ngược nó (nghĩa là sl sl + 1 … sr biến thành sr sr - 1 … sl).
Mục tiêu: tìm độ dài lớn nhất của chuỗi con dài nhất của s chỉ gồm các ký tự khác nhau (mỗi ký tự xuất hiện không quá một lần) sau khi bạn thực hiện không quá một lần đảo ngược.
Một chuỗi được gọi là gồm các ký tự khác nhau nếu không có ký tự nào xuất hiện nhiều hơn một lần. Ví dụ: abcde, arctg, minecraft là các chuỗi ký tự khác nhau, trong khi codeforces hay abacaba thì không.
Input
Dòng duy nhất chứa chuỗi s (độ dài không quá 10⁶), chỉ gồm các chữ cái a, b, …, t.
Output
In ra một số nguyên – độ dài lớn nhất của chuỗi con chỉ gồm các ký tự khác nhau mà bạn có thể đạt được, sau khi thực hiện tối đa một lần đảo ngược một đoạn liên tiếp trong s.
Sample input
abacaba
Sample output
3
Sample input
abcdecdf
Sample output
6
Sample input
aabbcc
Sample output
3
Sample input
abcdeefc
Sample output
6
Bình luận