#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using namespace std;

typedef long long ll;

int main() {
    int N;
    cin >> N;
    if (N == 0) {
        cout << "Yes\n";
        return 0;
    }
    while (N % 10 == 0) N /= 10;
    string S = to_string(N), ans = "Yes\n";
    int l = S.size();
    rep(i, l) if (S[i] != S[l - 1 - i]) ans = "No\n";
    cout << ans;
}
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <iomanip>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <unordered_map>
#include <bitset>
#define rep(i,n) for(int i=0;i<n;i++)
#define repn(i,n) for(int i=1;i<=n;i++)
#define repr(e,x) for(auto& e:x)
using namespace std;
typedef long long ll;
typedef long double ld;
//typedef pair<int,int> P;
double const PI=3.141592653589793;
int const INF=1001001001;
ll const LINF=1001001001001001001;
ll const MOD=1000000007;

ll K;

int main(){
    cin>>K;

    ll ans=0;
    repn(i,K){
        repn(j,K/i){
            ans+=K/(i*j);
        }
    }

    cout<<ans<<endl;
    
    return 0;
}