   Program ABC159B
   implicit none
   integer::n,m,l,i,j,k
   character(100)::s,t,u,v

      read(*,*) s
      n=len_trim(s)
      t=s(1:n)
      u=s(1:(n-1)/2)
      v=s((n+3)/2:n)
      m=len_trim(u)
      l=len_trim(v)

      A:do i=0,(n-1)/2
         if (t(i+1:i+1)/=t(n-i:n-i)) then
            print *,'No'
            exit A
         else
            B:do j=0,(m-1)/2
               if (u(j+1:j+1)/=u(m-j:m-j)) then
                  print *,'No'
                  exit A
               else
                  C:do k=0,(l-1)/2
                     if (v(k+1:k+1)/=v(l-k:l-k)) then
                        print *,'No'
                        exit A
                     else
                        print *,'Yes'
                        exit A
                     end if
                  end do C
               end if
            end do B
         end if
      end do A

      stop

   End program ABC159B