#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lint long long int /* vectoral(26); al = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; vectorAL(26); AL = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; */ int main() { string N; cin >> N; int Z = N.length(); int cnt = 0; if (N[0] == '9' && N[1] == '9') { if (N[2] == '5' || N[2] == '6' || N[2] == '7' || N[2] == '8' || N[2] == '9') { cnt++; cout << "1.0*10^"; cout << N.size() << endl; } else { double S = 0; S += double(N[0] - '0') * 10; S += double(N[1] - '0'); S += double(N[2] - '0') / 10; S += 0.5; cout << int(S) / 10; cout << '.'; cout << int(S) % 10; cout << "*10^"; cout << N.size() - 1 << endl; } } else { double S = 0; S += double(N[0] - '0') * 10; S += double(N[1] - '0'); S += double(N[2] - '0') / 10; S += 0.5; cout << int(S) / 10; cout << '.'; cout << int(S) % 10; cout << "*10^"; cout << N.size() - 1 << endl; } }