CF30E.Tricky and Clever Password

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

In his very young years the hero of our story, king Copa, decided that his private data was hidden not enough securely, what is unacceptable for the king. That's why he invented tricky and clever password (later he learned that his password is a palindrome of odd length), and coded all his data using it.

Copa is afraid to forget his password, so he decided to write it on a piece of paper. He is aware that it is insecure to keep password in such way, so he decided to cipher it the following way: he cut xx characters from the start of his password and from the end of it ( xx can be 00 , and 2x2x is strictly less than the password length). He obtained 3 parts of the password. Let's call it prefix\mathit{prefix} , middle\mathit{middle} and suffix\mathit{suffix} correspondingly, both prefix\mathit{prefix} and suffix\mathit{suffix} having equal length and middle\mathit{middle} always having odd length. From these parts he made a string A+prefix+B+middle+C+suffixA+\mathit{prefix}+B+\mathit{middle}+C+\mathit{suffix} , where AA , BB and CC are some (possibly empty) strings invented by Copa, and « ++ » means concatenation.

Many years have passed, and just yesterday the king Copa found the piece of paper where his ciphered password was written. The password, as well as the strings AA , BB and CC , was completely forgotten by Copa, so he asks you to find a password of maximum possible length, which could be invented, ciphered and written by Copa.

输入格式

The input contains single string of small Latin letters with length from 11 to 10510^{5} characters.

输出格式

The first line should contain integer kk — amount of nonempty parts of the password in your answer (). In each of the following kk lines output two integers xix_{i} and lil_{i} — start and length of the corresponding part of the password. Output pairs in order of increasing xix_{i} . Separate the numbers in pairs by a single space.

Starting position xix_{i} should be an integer from 11 to the length of the input string. All lil_{i} must be positive, because you should output only non-empty parts. The middle part must have odd length.

If there are several solutions, output any. Note that your goal is to maximize the sum of lil_{i} , but not to maximize kk .

输入输出样例

  • 输入#1

    abacaba
    

    输出#1

    1
    1 7
    
  • 输入#2

    axbya
    

    输出#2

    3
    1 1
    2 1
    5 1
    
  • 输入#3

    xabyczba
    

    输出#3

    3
    2 2
    4 1
    7 2
    
首页