Chắc hẳn các bạn đã quen với mật mã Caesar, một trong những kỹ thuật mã hóa đơn giản và phổ biến nhất. Với kỹ thuật mã hóa này, mỗi ký tự trong bạch văn (văn bản ban đầu) sẽ được thay thế bởi một ký tự khác, có vị trí cách nó một khoảng xác định k trong bảng chữ cái. Ví dụ, với ~k = 3~, ký tự a
sẽ được thay bằng d
, b
thay bằng e
, c
thay bằng f
, …, y
thay bằng b
, z
thay bằng c
.
Tuy phổ biến, nhưng đây là một kỹ thuật rất dễ bị phá giải. Để cải tiến kỹ thuật này, Alice có một sáng kiến như sau: nối bạch văn và văn bản đã mã hóa vào cùng một chuỗi, thêm một số ký tự gây nhiễu vào trước phần bạch văn, giữa hai văn bản, hoặc sau phần văn bản đã mã hóa để tạo thành một chuỗi mới rồi gửi cho những người bạn của côy. Ví dụ, từ bạch văn abc
, với ~k = 3~, cô có thể mã hóa thành def
, sau đó chèn thêm một số ký tự gây nhiễu để tạo thành xâu xabcyzdeft
.
Bạn được cho một xâu ~s~ là xâu cuối cùng thu được sau quá trình mã hóa. Hãy tìm độ dài lớn nhất có thể của bạch văn.
Dữ liệu
- Một dòng duy nhất gồm xâu ~s~ có độ dài không quá ~2 \times 10^5~.
Kết quả
- Một dòng duy nhất là độ dài lớn nhất của bạch văn.
Ví dụ
Dữ liệu
sqrtonlinejudge
Kết quả
2
Giải thích
Bạch văn dài nhất có thể là sq
, được mã hóa theo mật mã Caesar thành nl
với ~k = 21~.
Bình luận