Đề bài
Tìm kiếm văn bản
Lam viết chương trình tạo ra một số nguyên có \(N\) chữ số và ghi vào một tệp văn bản. Sau đó mở tệp đó trong một chương trình soạn thảo văn bản, chọn bôi đen (đánh dấu) một số chữ số đầu tiên (bên trái) và chơi trò chơi cùng với chức năng Find – Next của chương trình.
Cách hoạt động của Find – Next như sau: - Nếu đoạn văn bản được chọn (từ đầu chuỗi) xuất hiện lần nữa trong chuỗi nhưng ở vị trí khác, thì dấu chọn sẽ di chuyển đến vị trí xuất hiện tiếp theo đó. - Nếu đoạn văn bản không xuất hiện lại, dấu chọn không di chuyển.
Lam muốn biết: - Có bao nhiêu chữ số đầu tiên cần chọn (tính từ trái sang) sao cho khi dùng Find – Next, dấu chọn sẽ di chuyển. - Và vị trí đầu tiên mà dấu chọn di chuyển tới là vị trí nào.
Các chữ số được đánh số từ trái sang phải bắt đầu từ \(1\).
Dữ liệu vào
Một dòng ghi số nguyên \(x\) có \(N\) chữ số (\(1 \leq N \leq 10^7\)).
Dữ liệu ra
Ghi ra hai số nguyên trên một dòng, cách nhau bởi dấu cách: - Số đầu tiên: số lượng chữ số lớn nhất từ đầu chuỗi để khi dùng Find – Next thì dấu chọn sẽ di chuyển. - Số thứ hai: vị trí đầu tiên mà dấu chọn di chuyển tới.
Nếu không có vị trí nào khiến dấu chọn di chuyển, in ra 0 1.
Sample Input 1
12312312312
Sample Output 1
5 7
Sample Input 2
1234567890
Sample Output 2
0 1
Giải thích
- Input
12312312312: chọn 5 chữ số đầu tiên12312, thấy xuất hiện lại từ vị trí 7. - Input
1234567890: không có tiền tố nào lặp lại sau đó, nên output là0 1.
Giới hạn
- 30% số test: \(0 < n < 1000\)
- 30% số test: \(999 < n < 10000\)
- 40% số test: \(9999 < n < 10^7\)