#include #define show(x) std::cerr << #x << " = " << x << std::endl using ll = long long; using ull = unsigned long long; using ld = long double; constexpr ll MOD = 1000000007LL; template constexpr T INF = std::numeric_limits::max() / 10; std::mt19937 mt{std::random_device{}()}; int main() { std::string s; std::cin >> s; std::cout << (s.substr(0, s.size() / 2) == s.substr(s.size() / 2, s.size() - s.size() / 2) ? "YES" : "NO") << std::endl; return 0; }