#include<bits/stdc++.h>
typedef unsigned long long ull;
typedef long long ll;
typedef double db;
typedef long double ldb;
#define pii pair<int,int>
#define pll pair<long long,long long>
#define usi unordered_set<int,custom_hash>
#define usl unordered_set<long long,custom_hash>
#define uspii unordered_set<pii,custom_hash>
#define uspll unordered_set<pll,custom_hash>
#define sl set<long long>
#define si set<int>
#define spii set<pii>
#define spll set<pll>
#define umii unordered_map<int,int,custom_hash>
#define umsi unordered_map<string,int,custom_hash>
#define umci unordered_map<char,int,custom_hash>
#define umll unordered_map<long long,long long,custom_hash>
#define mll map<long long,long long>
#define mii map<int,int>
#define vi vector<int>
#define vl vector<long long>
#define vvl vector<vector<long long>>
#define vvi vector<vector<int>>
#define vpii vector<pii>
#define vpll vector<pll>
#define deb(x) cout<<#x<<": "<<x<<"\n"
#define fi first
#define sec second
#define pb push_back
#define pob pop_back
#define beg begin
#define en end
#define mp make_pair
#define all(x) x.begin(),x.end()
#define al(arr,n) arr,arr+n
#define endl '\n'
#define PIE 3.141592653
#define MOD 1000000007
#define MOD2 
#define f(i,a,b,c) for(int i=a;i<b;i+=c)
#define frev(i,n,b,c)  for(int i=n-1;i>=b;i-=c)
#define put(x,val) memset(x,val,sizeof(x))
#define inp(arr,n) for(int i=0;i<n;i++){cin>>arr[i];}
const ll inf = 1000000000000000000;
using namespace std;
bool prime[1000005];
ll  fact[1000005];

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

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

ll power(ll x , ll n , ll m=inf){
	if(x==0)return 0;
	if(n==0)return 1;
	ll ans;
	if(n%2==0){
		ll smallAns = power(x,n/2,m);
		ans = (smallAns*smallAns)%m;		
	} else {
		ll smallAns = power(x,n-1,m);
		ans = x;
		ans = (ans*smallAns)%m;
	}
	return (ans+m)%m; // for negative values also
	
}

ll modInverse(ll n,ll p){return power(n, p - 2, p);}

ll nCr(ll n,ll r, ll p=LLONG_MAX){ //FOR USING IT FIRST INITIALIZE FACT ARRAY
    if (n < r)	return 0;
    if (r == 0)	return 1;
    	return (fact[n] * modInverse(fact[r], p) % p* modInverse(fact[n - r], p) % p)% p;
}

void fillFact(){
	fact[0]=1;
	f(i,1,1000005,1){
		fact[i]=(fact[i-1]*i)%MOD;
	}
}


void fillPrime(){
	ll i,j,n = 1000001;
	f(i,0,n,1){
		prime[i] = 1;	
	}
	prime[0]=0;
	prime[1]=0;
	for(i=2;i*i<=n;i++){
		if(prime[i]){
			for(j=i*i;j<=n;j+=i){
				prime[j] = 0;	
			}
		}
	}
}

struct custom_hash {
    static uint64_t splitmix64(uint64_t x) {
        x += 0x9e3779b97f4a7c15;
        x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;
        x = (x ^ (x >> 27)) * 0x94d049bb133111eb;
        return x ^ (x >> 31);
    }
    size_t operator()(uint64_t x) const {
        static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
        return splitmix64(x + FIXED_RANDOM);
    }
};

ll kadane(ll arr[],int n){
	ll dp[n];
	dp[0]=arr[0];
	ll maxm=dp[0];	
	f(i,1,n,1){
		if(dp[i-1]>0)	dp[i]=arr[i]+dp[i-1];
		else	dp[i]=arr[i];
		maxm=max(maxm,dp[i]);
	}
	return maxm;
}

bool compare(pii p1,pii p2){
	return p1.sec<p2.sec;
}

//int dx[]={1,-1,0,0}; int dy[]={0,0,1,-1};
//int dx[]={2,2,-2,-2,1,1,-1,-1}; int dy[]={1,-1,1,-1,2,-2,2,-2};

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

#ifndef ONLINE_JUDGE
	freopen("input.txt","r",stdin);
	freopen("output.txt","w",stdout);
#endif

	int t=1;
	// cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		int ans=1.08*n;
		cout<<(ans==206?"so-so":(ans<206?"Yay!":":("))<<endl;	
	}


	return 0;
}

#include<bits/stdc++.h>
#include<string>
using namespace std;
int main()
{
	int n,v=0;
	cin>>n;
	string p=to_string(n);
	int l=p.length()-1;
	while(p[l]=='0'){
		p.erase(l,1);
		l--;
	}
	int y=p.length();
	for(int i=0;i<y;i++)
	{
		if(p[i]!=p[y-i-1]) {v++; break;}
	}
	if(v>0) cout<<"No";
	else cout<<"Yes";
}
