#include <bits/stdc++.h>

using namespace std;

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

	if (n == 0) {
		cout << "Yes\n";
		return 0;
	}

	while (!(n % 10)) n /= 10;

	vector<int> f, b;
	while (n) {
		f.emplace_back (n % 10);
		n /= 10;
	}

	b = f;
	reverse (b.begin(), b.end());

	if (b == f) cout << "Yes\n";
	else cout << "No\n";

	return 0;
}

#include<bits/stdc++.h>

using namespace std;

bool palindromeasis(string s,int low,int high)
{
    int flag=1;
    while(low<=high)
    {
        if(s[low]==s[high])  
        {
            low++;
            high--;
        }
        else 
        {
            flag=0;
            break;
        }
    }
    if(flag==0)
        return false;
    return true;     
}

bool palindrome(string s)
{
    if(palindromeasis(s,0,s.length()-1))
        return true;

    int j=s.length()-1;
    while(s[j]=='0') 
        j--;

    if(j<s.length() && palindromeasis(s,0,j))
        return true;

    return false;           
}

int main()
{
        string s;
        cin>>s;

        if(palindrome(s))
            cout<<"Yes"<<endl;
        else
            cout<<"No"<<endl;    
}