//利用Stack类判断一个字符串是否为回文
#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
const int Max_size=100;
class Student
{
private:
int length;
char *s;
public:
Student()
{
s=new char[Max_size];
length=0;
}
~Student(){
#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
const int Max_size=100;
class Student
{
private:
int length;
char *s;
public:
Student()
{
s=new char[Max_size];
length=0;
}
~Student(){
delete [] s;
}
void EnStudent(char str)
{
s[length++]=str;
}
char PrintStudent()
{
return s[--length];
}
};
int main()
{
char arr1[100];
cin>>arr1;
Student p;
int l=strlen(arr1);
for(int i=0;i<l/2;i++)
{
p.EnStudent(arr1[i]);
}
int idex=l/2;
if(l%2==1){idex++;}
for(int i=0;i<l/2;i++)
{
char a;
a=p.PrintStudent();
if(a!=arr1[idex++])
{
cout<<"no";
return 0;
}
}
cout<<"yes";
return 0;
}
}
void EnStudent(char str)
{
s[length++]=str;
}
char PrintStudent()
{
return s[--length];
}
};
int main()
{
char arr1[100];
cin>>arr1;
Student p;
int l=strlen(arr1);
for(int i=0;i<l/2;i++)
{
p.EnStudent(arr1[i]);
}
int idex=l/2;
if(l%2==1){idex++;}
for(int i=0;i<l/2;i++)
{
char a;
a=p.PrintStudent();
if(a!=arr1[idex++])
{
cout<<"no";
return 0;
}
}
cout<<"yes";
return 0;
}