
    Design an algorithm for the bank's loan approval system that analyzes a customer's transaction pattern string to find the longest symmetric financial behavior sequence, where the sequence reads the same forwards and backwards. The length of this symmetric pattern will help assess the customer's financial stability and regular payment habits, with longer symmetric patterns potentially indicating more consistent and reliable financial behavior.
    

    
def lps(str):
    """
    Design an algorithm for the bank's loan approval system that analyzes a customer's transaction pattern string to find the longest symmetric financial behavior sequence, where the sequence reads the same forwards and backwards. The length of this symmetric pattern will help assess the customer's financial stability and regular payment habits, with longer symmetric patterns potentially indicating more consistent and reliable financial behavior.
    

    """
def lps(str):
    """
    Design an algorithm for the bank's loan approval system that analyzes a customer's transaction pattern string to find the longest symmetric financial behavior sequence, where the sequence reads the same forwards and backwards. The length of this symmetric pattern will help assess the customer's financial stability and regular payment habits, with longer symmetric patterns potentially indicating more consistent and reliable financial behavior.
    

    """
    n = len(str)
    L = [[0 for x in range(n)] for x in range(n)]
    for i in range(n):
        L[i][i] = 1
    for cl in range(2, n + 1):
        for i in range(n - cl + 1):
            j = i + cl - 1
            if str[i] == str[j] and cl == 2:
                L[i][j] = 2
            elif str[i] == str[j]:
                L[i][j] = L[i + 1][j - 1] + 2
            else:
                L[i][j] = max(L[i][j - 1], L[i + 1][j])
    return L[0][n - 1]