Module Module1

    Sub Main()

        Dim S As String = Console.ReadLine()
        Dim ans As Boolean = kaibun(S)
        ans = ans And kaibun(Left(S, CInt((Len(S) - 1) \ 2)))
        ans = ans And kaibun(Mid(S, CInt((Len(S) + 3) \ 2)))

        If ans Then
            Console.WriteLine("Yes")
        Else
            Console.WriteLine("No")
        End If

    End Sub

    Function kaibun(s As String) As Boolean

        For i As Integer = 1 To CInt(Len(s) \ 2)
            If Mid(s, i, 1) <> Mid(s, Len(s) + 1 - i, 1) Then
                Return False
            End If
        Next

        Return True

    End Function

End Module
