#include using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) #define FOR(i,b,e) for (int i=(int)(b); i<(int)(e); i++) #define ALL(x) (x).begin(), (x).end() const double PI = acos(-1); int main() { ios_base::sync_with_stdio(0); cin.tie(0); string s = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991"; string n; cin >> n; vector val(200); REP (i, n.length()) REP (j, s.length()) { val[i+j] += (n[n.length()-1-i] - '0') * (s[s.length()-1-j] - '0'); } REP (i, 199) { val[i+1] += val[i] / 10; val[i] %= 10; } string ret; REP (i, 190) ret += char('0' + val[i]); ret += '.'; FOR (i, 190, 200) ret += char('0' + val[i]); reverse(ALL(ret)); int pos = 0; while (ret[pos] == '0') ++pos; ret = ret.substr(pos); if (ret[0] == '.') ret = "0" + ret; cout << ret << endl; return 0; }