#include <iostream>
#include <algorithm>
#include <iomanip>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <numeric>
#include <bitset>

static const int MOD = 1000000007;
using ll = int64_t;
using u32 = uint32_t;
using namespace std;

template<class T> constexpr T INF = ::numeric_limits<T>::max()/32*15+208;

int main() {
    string s;
    cin >> s;
    int a = s[0]-'0', b = s[1]-'0' + (s[2] >= '5'), c = s.size()-1;
    if(b >= 10) a++, b -= 10;
    if(a >= 10) {
        c++;
        b = a%10;
        a = a/10;
    }
    printf("%d.%d*10^%d\n", a, b, c);
    return 0;
}