package main

//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param A string字符串 
 * @return int整型
*/
func getLongestPalindrome( A string ) int {
    // write code here
    maxNum := 0
    for i:= 0 ; i < len(A); i++ {
        tmpMax := 1
        j := 1
        for i - j >=0 && i + j < len(A) && A[i-j] == A[i+j] {
           //fmt.Printf("i= %v, j = %v,maxNum = %v, 2*j+1= %v \n", i,j, maxNum, 2*j + 1)
           tmpMax = max(tmpMax, 2*j + 1)
           j++
        }
        
        if i + 1 < len(A) && A[i] == A[i + 1] {
            j := 1
            tmpMax = max(tmpMax, 2)
            for i - j>=0 && i+1 + j < len(A) && A[i-j] == A[i+1+j] {
               tmpMax = max(tmpMax, 2*j + 2)
               j++
            }
            
            
        }
        maxNum = max(tmpMax, maxNum)

        
    }
    return maxNum
    
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}