#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

class Double
{
public:
    Double(const char * s);

    operator double() const { return sign*v*pow(10,ex*exsn); }
private:

    int start(char c);
    int zero (char c);
    int one  (char c);
    int two  (char c);
    int three(char c);
    int four (char c);
    int five (char c);

    double v  =  0;
    int sign  =  1;
    int ex    =  0;
    int exsn  =  1;
    int state = -1;
    double p  = 10;
};

Double::Double(const char * s)
{
    if ((state = start(*s++)) < 0) return;
    for(;*s;++s)
    {
        switch(state)
        {
        case 0: state = zero (*s); break;
        case 1: state = one  (*s); break;
        case 2: state = two  (*s); break;
        case 3: state = three(*s); break;
        case 4: state = four (*s); break;
        case 5: state = five (*s); break;
        default: return;
        }
    }
}

int Double::start(char c)
{
    if (c == '-' || c == '+') { sign = (c == '-') ? -1 : 1; return 0; }
    if (c == '.') return 2;
    if (isdigit(c)) { v = v*10 + (c-'0'); return 1; }
    return -1;
}

int Double::zero(char c)
{
    if (c == '.') return 2;
    if (isdigit(c)) { v = v*10 + (c-'0'); return 1; }
    return -1;
}

int Double::one(char c)
{
    if (c == '.') return 2;
    if (c == 'e' || c == 'E') return 4;
    if (isdigit(c)) { v = v*10 + (c-'0'); return 1; }
    return -1;
}

int Double::two(char c)
{
    if (isdigit(c)) { v = v + (c-'0')/p; p*=10; return 3; }
    return -1;
}

int Double::three(char c)
{
    if (isdigit(c)) { v = v + (c-'0')/p; p*=10; return 3; }
    if (c == 'e' || c == 'E') return 4;
    return -1;
}

int Double::four(char c)
{
    if (c == '-' || c == '+') { exsn = (c == '-') ? -1 : 1; return 5; }
    if (isdigit(c)) { ex = ex*10 + (c-'0'); return 5; }
    return -1;
}

int Double::five(char c)
{
    if (isdigit(c)) { ex = ex*10 + (c-'0'); return 5; }
    return -1;
}

int main(int argc, char * argv[])
{
    string s;
    while(cin >> s)
    {
        cout << setw(15) << s << "  " << setprecision(25) << Double(s.c_str()) << endl;
    }
}
