/**
        Bismilla- hir rahma-nir rahi-m
    @uthor Md Hasibur Rahman (Evan)
                JKKNIU
*/


#include<bits/stdc++.h>
#define         ll              long long
#define         FI              freopen("input.txt","r",stdin)
#define         FO              freopen("output.txt","w",stdout)
#define         PrintCase(i)    printf("Case %d: ",i)
#define         sc(a)           scanf("%d",&a)
#define         scl(a)          scanf("%lld",&a)
#define         rep(i,n)        for(int i=0;i<n;i++)
#define         pb              push_back
#define         MAX             1000000
#define         fast            ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define         endl            "\n"


using namespace std;

bool isPrime(ll a)
{
    for(ll i=2;i*i<=a;i++)
        if(a%i==0)
            return false;
    return true;
}






bool isPowerOfTwo(ll a)
{
    if(a==1)
        return true;
    if(a&1)
        return false;
    while(a)
    {
        a/=2;
        if(a!=1 && a&1)
            return false;
        if(a==1)
            return true;
    }
    return true;
}



void Swap(ll &a, ll &b)
{

    a^=b;
    b^=a;
    a^=b;
}



ll gcd(ll a, ll b)
{
    if(a<0 || b<0)
    {
        a = abs(a);
        b = abs(b);
    }
    if(a<b)
        Swap(a,b);
    if(b==0)
        return a;
    if(a%b==0)
        return b;
    else
        return gcd(b,a%b);
}



ll lcm(ll a, ll b)
{
    return (a*b)/gcd(a,b);
}



ll power(ll base, ll exponent)
{
    ll ans = 1;
    for(ll i=1;i<=exponent;i++)
        ans*=base;
    return ans;
}




bool isPowerOfX(ll x, ll value)
{
    if(value==1)
        return true;
    while(value)
    {
        value/=x;
        if(value%x && value!=1)
            return false;
    }
    return true;
}



bool isPrefectSquare(ll value)
{
    return (ll)sqrtl(value)*(ll)sqrtl(value)==value;
}


ll fact(ll value)
{
	if(value==0 || value==1)
		return 1;
	return value*fact(value-1);
}



int main()
{
	string s,tmp1,tmp2;
	cin>>s;
	int i=0,j=s.size()-1;
	while(s[i]=='0')i++;
	while(s[j]=='0')j--;
	for(int k=i;k<=j;k++)tmp1+=s[k];
	tmp2 = tmp1;
	reverse(tmp2.begin(),tmp2.end());
	tmp1==tmp2?cout<<"Yes\n":cout<<"No\n";
    return 0;
}


#include <iostream>
#include <string>
using namespace std;
int main(){
    string n;
    cin >> n;
    int zero_counter = 0;
    for(int i = 0;i < n.size();i++){
        if(n[n.size()-1-i] == '0'){
            zero_counter += 1;
        }else{
            break;
        }
    }
    for(int i = 0;i < zero_counter;i++){
        n = string("0") + n;
    }
    int size_n = n.size();
    for(int i = 0;i < size_n/2;i++){
        if(n[i]!=n[size_n-1-i]){
            cout << "No" << endl;
            return 0;
        }
    }
    cout << "Yes" << endl;
    return 0;
}
