#include <bits/stdc++.h>
using namespace std;

int main()
{
    double N;
    cin >> N;
    double a;
    int ans;

    a = 1.08 * N;
    ans = a;

    if(ans < 206) {
        cout << "Yay!" << endl;
    }
    else if(ans == 206) {
        cout << "so-so" << endl;
    }
    else {
        cout << ":(" << endl;
    }

    //system("pause");
    return 0;
}

// Ref :

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double lld;

#define      tab                   "\t"
#define      endl                  "\n"
#define      pb                    emplace_back
#define      sz(x)                 int((x).size())
#define      gc                    getchar_unlocked
#define      gcd(x,y)              __gcd(x,y) 
#define      all(a)                a.begin(), a.end()                           // usage in stl functions for traversing the container
#define      rep(i,a,b)            for(int i = a; i < b; i++)                   // @00G_aurkS00 @00G_aurkS00
#define      rrep(i,a,b)           for(int i = a; i >= b; i--)
#define      in(a,b)               ( (b).find(a) != (b).end() )                 // returns true(1) if element is present otherwise false(0)

#define      EPS                   1e-9
#define      INF                   (int)1e9
#define      MOD                   1000000007

#define      countLZ(x)            __builtin_clz(x)                             // returns the count of leading zeros in binary of a data upto first set(1) bit
#define      countTZ(x)            __builtin_ctz(x)                             // returns the count of trailing zeros in binary of a data from last set(1) bit
#define      checkbit(n,b)         ( (n >> b) & 1 )                             // @00G_aurkS00 @00G_aurkS00
#define      parityCheck(x)        __builtin_parity(x)                          // returns 1(true) if odd number of set bits present in int, long data
#define      setbitCount(x)        __builtin_popcount(x)                        // returns the number of one’s(set bits) in binary of an int, long data
#define      PI                    3.1415926535897932384626433832795

#ifndef ONLINE_JUDGE
#define debug(x) cerr << #x <<" "; _print(x); cerr << endl;
#else
#define debug(x)
#endif

void _print(ll t) {cerr << t;}
void _print(int t) {cerr << t;}
void _print(string t) {cerr << t;}
void _print(char t) {cerr << t;}
void _print(lld t) {cerr << t;}
void _print(double t) {cerr << t;}
void _print(ull t) {cerr << t;}

template <class T, class V> void _print(pair <T, V> p);
template <class T> void _print(vector <T> v);
template <class T> void _print(set <T> v);
template <class T, class V> void _print(map <T, V> v);
template <class T> void _print(multiset <T> v);
template <class T, class V> void _print(pair <T, V> p) {cerr << "{"; _print(p.ff); cerr << ","; _print(p.ss); cerr << "}";}
template <class T> void _print(vector <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(set <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(multiset <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}

inline void boostIO(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);    
    #ifndef ONLINE_JUDGE
        freopen("input_6.txt","r",stdin);
        freopen("output_6.txt","w",stdout);
    #endif
}
/*=========================================================== End_Of_Header ===========================================================*/

int main(){
    //boostIO();
    ll tc = 1;
    //cin >> tc;

    while(tc--){
        ll n;
        cin >> n;
        ll ans = n*1.08;
        //cout << n*1.08 << endl;
        if ( ans > 206 ) cout << ":(" << endl;
        else if ( ans < 206 ) cout << "Yay!" << endl;
        else cout << "so-so" << endl;
    }
    return 0;
}