      module strPiyo
      implicit none
      
      contains
      function checkStr( n,str ) result( flag )
        implicit none
        logical flag
        integer :: n
        character(n) :: str
        integer :: i
        
        do i = 1,n/2
          if( str(i:i)/=str(n+1-i:n+1-i) )then
            flag = .false.
            return
          end if
        end do
        
        flag = .true.
      end function
      
      end module
      
      
      
      PROGRAM piyo
      use strPiyo
      IMPLICIT NONE
      character(99) :: s
      integer :: n
      
      read*,s
      n = len_trim(s)
      
      if( .not. checkStr(n,s(1:n)) )then
        print*,'No';stop
      end if
      
      if( .not. checkStr((n-1)/2,s(1:(n-1)/2)) )then
        print*,'No';stop
      end if
      
      if( .not. checkStr(n-(n+3)/2+1,s((n+3)/2:n)) )then
        print*,'No';stop
      end if
      
      print*,'Yes'
      
      END PROGRAM