#include <iostream>

using namespace std;

string a;

bool Pal(int i , int j)
{
    while(i < j)
    {
        if(a[i] != a[j])
            return false;
        i++;
        j--;
    }
    return true;
}

int main()
{
    cin >> a;
    int i , j;
    i = 0;
    while(a[i] == '0'&& i < a.size())
        i++;
    j = a.size() - 1;
    while(a[j] == '0' && j >= 0)
        --j;
    if(Pal(i , j))
        cout << "Yes\n";
    else cout << "No\n";
    return 0;
}
#include <bits/stdc++.h>
using namespace std;

#define fr(i,n) for(int i = 0; i<n; i++)
#define sz(v) (int)(v.size())
#define prin(a) cout << #a << " = " << a << endl
#define prinv(v) cout << #v << " = "; for(auto it : v) cout << it << ", "; cout << endl
#define all(v) (v).begin(),(v).end()

typedef long long ll;

#define rmin(a,b) a = min<ll>(a,b)
#define rmax(a,b) a = max<ll>(a,b)

#define fi first
#define se second

void yes(){
	cout << "Yes\n";
	exit(0);
}

void no(){
	cout << "No\n";
	exit(0);
}

bool isp(string s){
	fr(i,sz(s)/2) if(s[i]!=s[sz(s)-1-i]) return 0;
	return 1;
}

int main(){
	ios::sync_with_stdio(0); cin.tie(0);
	ll n; cin >> n;
	if(n==0) yes();
	
	string s = to_string(n);
	
	while(s.back()=='0') s.pop_back();
	//prin(s);
	
	if(isp(s)) yes();
	no();
}