#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
string s;
while (cin >> s)
{
int pt = s.size() + 3;/*先假設沒有小數點,所以把小數第三位在字串的位置先標出來*/
bool temp = 0;
for (int i = 1 ; i < s.size() ; i++)/*找小數後第三位在字串中的位置(如果本來輸入的數字有的話)*/
if (s[i] == '.')
{
pt = i + 3;
temp = 1;
break;
}
if (temp == 0)/*沒有小數點的話,就把小數點的點加進去*/
s += '.';
if (pt >= s.size())/*把字串補足0到小數第三位的*/
{
int size = s.size();
for (int i = size ; i <= pt ; i++)
s += '0';
}
temp = 0;
if (s[0] == '-')/*判斷正負*/
temp = 1;
if (temp == 0)/*如果為正*/
{
if (s[pt] > '4')/*四捨五入*/
s[pt - 1]++;
for (int i = pt - 1 ; i >= 1 ; i--)/*判斷是否進位*/
if (s[i] > '9')
{
s[i] = '0';
if (s[i - 1] == '.')
s[i - 2]++;
else
s[i - 1]++;
}
if (s[0] > '9')/*判斷最大位數是否要進位(不在上面的迴圈做是因為可能i=-1為非法範圍)*/
{
s[0] = '0';
s = '1' + s;
}
}
else/*如果為負*/
{
if (s[pt] > '4')
s[pt - 1]++;
for (int i = pt - 1 ; i >= 2 ; i--)
if (s[i] > '9')
{
s[i] = '0';
if (s[i - 1] == '.')
s[i - 2]++;
else
s[i - 1]++;
}
if (s[1] > '9')/*一樣對最大位數進位,但要把負號加回去*/
{
s[1] = '0';
s[0] = '1';
s = '-' + s;
}
}
temp = 0;
for (int i = 0 ; i < pt ; i++)/*判斷是否不全為 - 0 , 這三個符號*/
if (s[i] != '-' and s[i] != '0' and s[i] !='.')
{
temp = 1;
break;
}
if (temp == 0)/*如果全為 - 0 , 這三個符號就忽略負號直接輸出0.00 */
{
for (int i = 0 ; i < pt ; i++)
if (s[i] != '-')
cout << s[i];
}
else/*正常輸出情況*/
for (int i = 0 ; i < pt ; i++)
cout << s[i];
cout << '\n';
}
return 0;
}