#include<bits/stdc++.h>

using namespace std;

int main()
{
    long long n;
    cin>>n;

    long long tmp=n;
    long long num=0;
    long long len=1;
    bool flag=true;
    while(tmp>0){
        if(flag&&tmp%10==0) len*=10;
        else flag=false;
        num=num*10+tmp%10;
        tmp/=10;
    }
    num*=len;

    cout<<(num==n?"Yes":"No")<<endl;

    return 0;
}
#include<bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(false);cin.tie(NULL);
#define ll long long
#define all(x) (x).begin(),(x).end()
using namespace std;
template<typename KeyType, typename ValueType> 
std::pair<KeyType,ValueType> get_max( const std::map<KeyType,ValueType>& x ) {
  using pairtype=std::pair<KeyType,ValueType>; 
  return *std::max_element(x.begin(), x.end(), [] (const pairtype & p1, const pairtype & p2) {
        return p1.second < p2.second;
  }); 
}
const int mod=1e9+7;
void solve()
{
	string s;
	cin>>s;
	string temp=s;
	reverse(temp.begin(),temp.end());
	stringstream ss(temp);
	int g=0;
	ss>>g;
	string ans=to_string(g);
	string rev=ans;
	reverse(rev.begin(),rev.end());
	if(rev==ans)
	{
		cout<<"Yes";
	}
	else
	{
		cout<<"No";
	}
	return;
	
}
int main()
{
	solve();
}


