//Keep calm and carry on..

/*  Problem :
    URL :
    Memory Limit: 1024 MB
	Time Limit: 2000 ms
	Powered by CP Editor (https://github.com/cpeditor/cpeditor)
*/

#include<bits/stdc++.h>
//#include <boost/math/common_factor.hpp>

using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
typedef long double ld;

# define fast           ios_base::sync_with_stdio(false),cin.tie(NULL),cout.tie(NULL);
# define pi             3.1415926535897932384626
# define mod            1000000007
# define pb             push_back
# define all(v)			v.begin(), v.end()
# define rall(v)		v.rbegin(), v.rend()
# define F              first
# define S              second
# define mk             make_pair
# define loop1(i,a,b)   for(ll i = a; i<b; i++)
# define loop2(i,a,b)   for(ll i = b-1; i>=a; i--)
# define endl          '\n'
# define DEBUG          false
# define sz(x) 			(int)x.size()
# define mem(a, val) 	memset(a, val, sizeof(a))
# define deci(x) 		cout << fixed << setprecision(x);
# define bitcount(x) 	__builtin_popcountll(x)
# pragma GCC optimize "trapv"

typedef pair<int, int> ii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<vi> vvi;
typedef vector<vii> vvii;

const int dx[8] = { -1, -1, -1, 0, 1, 1, 1, 0};
const int dy[8] = { -1, 0, 1, 1, 1, 0, -1, -1};


const long double EPS = 1e-12;
const int N = 1e5 + 20;


int countDigit(ll n) {
	return floor(log10(n) + 1);
}
int sumDigits(int no) {
	return no == 0 ? 0 : no % 10 + sumDigits(no / 10) ;
}

//
//
void reverse(int n, int &rev)
{
    // base case
    if (n == 0) {
        return;
    }
 
    rev = rev * 10 + (n % 10);
    reverse(n / 10, rev);
}

int isPalindrome(int num)
{
    int rev = 0;
 
    // reverse `num` and store it in `rev`
    reverse(num, rev);
 
    // if the given number is equal to its reverse,
    // then the number is a palindrome
    return (num == rev);
}
//
//
void soln() {

	//cout << "Case #" << ks << ": " << abs(k - cnt);
}

int main() {

	fast;
	ll n;	cin >> n;
	if (n < 12){ cout << "Yes"; return 0; }
	while (n % 10 == 0){
	    n /= 10;
	}
	
	if (n < 12) cout << "Yes";
	else if (isPalindrome(n)) cout << "Yes";
	else cout << "No";

	return 0;
}
#include<iostream>
#include<bits/stdc++.h>
#include<string>
#include<vector>
using namespace std;
using ll= long long;
int main()
{
    string t;
    cin>>t;
    int count=0;
    int n=t.length();
    int k=stoi(t);
    int flag=1;
    
    for(int i=0;i<n;i++)
    {
       if(k%10==0)
       {
           count++;
           k=k/10;
       }
       else
       {
           break;
       }
    }
    for(int i=0;i<n-count;i++)
    {
        if(t[i]!=t[n-i-1-count])
        {
            flag=0;
            break;
        }
        else
        {
            flag++;
        }
    }
    if(flag!=0)
    {
        cout<<"Yes";
    }
    else
    {
        cout<<"No";
    }
    
}

