#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i, n) for (int (i) = 0; (i) < (n); (i)++) #define FOR(i, a, b) for (int (i) = (a); (i) < (b); (i)++) #define RREP(i, a) for(int (i) = (a)-1; (i) >= 0; (i)--) #define FORR(i, a, b) for(int (i) = (a)-1; (i) >= (b); (i)--) #define PI acos(-1.0) #define DEBUG(C) cerr << C << endl; #define VI vector #define VII vector #define VL vector #define VLL vector #define VD vector #define VDD vector #define PII pair #define PDD pair #define PLL pair #define VPII vector #define ALL(a) (a).begin(), (a).end() #define SORT(a) sort(ALL(a)) #define REVERSE(a) reverse(ALL(a)) #define MP make_pair #define EB emplace_back #define FORE(a, b) for (auto &&a:b) #define FIND(s, n) (s.find(n) != s.end()) using namespace std; typedef long long LL; typedef unsigned long long ULL; const int INF = 1e9; const int MOD = INF + 7; const LL LLINF = 1e18; int main(void) { string D = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991"; VI a(D.size()); int N; cin >> N; int su = 0; REP(i, D.size()) { a[i] = D[i] - '0'; a[i] *= N; } RREP(i, D.size()) { if (a[i] >= 100) { int buf = a[i]; a[i] %= 10; if (i > 1) { a[i - 2] += buf / 100; a[i - 1] += (buf % 100) / 10; } else if (i == 1) { su += (buf / 100); a[i - 1] += (buf % 100) / 10; } else { su += (buf / 100) * 10; su += (buf % 100) / 10; } } else if (a[i] >= 10) { int buf = a[i]; a[i] %= 10; if (i) { a[i - 1] += buf / 10; } else { su += buf / 10; } } } cout << su << "."; REP(i, a.size()) { cout << a[i]; } cout << endl; return 0; }