Xâu là một dãy kí tự từ bảng mã ASCII, số lượng kí tự trong xâu gọi là độ dài xâu. Kí hiệu: *|S|* là độ dài xâu *S*. Một xâu con của S là một dãy liên tục các kí tự trong *S*.
Một xâu gọi là xâu đối xứng khi đọc xâu đó từ trái sang phải cũng như đọc nó từ phải sang trái. *Ví dụ:* các xâu a, aa, aaa, abba, abcba là các xâu đối xứng.
Xâu *T* được gọi là một xâu chuyển vòng của xâu *S* khi *T* được tạo bằng cách ngắt một số kí tự đầu xâu và ghép vào cuối xâu *S*. Ví dụ: các xâu bcd**a**, cd**ab**, d**abc** là các xâu chuyển vòng của xâu abcd. Xâu *S* cũng là một xâu chuyển vòng của *S*.
**yêu cầu:** Cho một xâu *S* chỉ gồm các chữ cái latin in thường, hãy tìm độ dài xâu con đối xứng dài nhất trong các xâu chuyển vòng của *S*.
##Input (SUBPALIN.INP)
**Dữ liệu** vào từ tệp văn bản `SUBPALIN.INP` gồm một dòng chứa xâu *S* có độ dài không quá 10^6.
##Output (SUBPALIN.OUT)
**Kết quả** ghi ra tệp văn bản `SUBPALIN.OUT` gồm một dòng ghi số nguyên dương là độ dài lớn nhất của xâu con đối xứng tìm được.
##Scoring
- **Subtask 1** (15%): *|S|* <= 500;
- **Subtask 2** (20%): *|S|* <= 5*10^3;
- **Subtask 3** (35%): *|S|* <= 3*10^5;
- **Subtask 4** (30%): *|S|* <= 10^6;
##Example
!!! question "Test 1"
???+ "Sample input"
```sample
ababcb
```|
???+ success "Sample output"
```sample
5ư
```