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

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

      A:do i=1,n
         if (s(i:i)/=s(n-i+1:n-i+1)) then
            print *,'No'
            exit A
         else
            B:do j=1,m
               if (t(j:j)/=t(m-j+1:m-j+1)) then
                  print *,'No'
                  exit A
               else
                  C:do k=1,l
                     if (u(k:k)/=u(l-k+1:l-k+1)) 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