#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
#define ll long long
#define ull unsigned long long
#define all(x) (x).begin(),(x).end()
#define print(x) if(x)cout<<"YES\n";else cout<<"NO\n";
#define pb push_back
#define F first
#define S second
//#define mod 1000000007
#define mod 998244353
using namespace __gnu_pbds;
using namespace std;
void solve() {
	ll n;
	cin >> n;
	ll cnt = 0;
	ll ans = 0;
	ll l = 1, r = 999;
	while (l <= n) {
		ans += (min(n, r) - l + 1) * cnt;
		cnt++;
		l = r + 1;
		r = r * 10 + 9;
		ll p = 0, x = r;
		while (x > 0) {
			x /= 10;
			p++;
		}
		cnt = (p - 1) / 3;
	}
	cout << ans << "\n";
}
int main() {
#ifndef ONLINE_JUDGE
	freopen("in.txt", "r", stdin);
	freopen("out.txt", "w", stdout);
#endif
	fastio;
	int T = 1;
	// cin >> T;
	while (T--) {
		solve();
	}
}
//Bulbul khan-420...
#include <bits/stdc++.h>
#include <cstring>
#define ll long long int
#define pb() push_back()
#define f(i,n) for(i=0;i<n;i++)
using namespace std;
int main()
{
      float t,b,c,d,i,j,k,l,n,m,x,y,z;
      cin>>n;
       ll a;
      a=n*(1.08);
      if(a<206)
       cout<<"Yay!";
      else if(a==206)
        cout<<"so-so";
      else
        cout<<":(";
}