#include #include #include #include #include #define SHOW(d) {std::cout << #d << "\t:" << d << "\n";} template int GetSign(T x){ if(x==0) return 1; return x/std::abs(x); } int main() { std::ios::sync_with_stdio(false); std::cin.tie(0); int n; std::string input, inputInt, inputDec; long long int ansInt = 0, ansDec = 0; std::cin >> n; for(int i=0; i> input; if(input.find('.') == std::string::npos){ ansInt += static_cast(std::stod(input)) + ((input[0]=='-') ? 1 : -1); ansDec += ((input[0]=='-') ? -10000000000 : 10000000000); }else{ std::istringstream ist(input); std::getline(ist, inputInt, '.'); ansInt += static_cast(std::stod(inputInt)) + ((input[0]=='-') ? 1 : -1); std::getline(ist, inputDec); while(inputDec.size()<10){ inputDec += '0'; } ansDec += static_cast(std::stod(inputDec)) * ((input[0]=='-') ? -1 : 1) + ((input[0]=='-') ? -10000000000 : 10000000000); } } if(GetSign(ansInt)*GetSign(ansDec)<0){ int tmp = GetSign(ansDec); ansInt += ((ansDec/10000000000==0) ? 0 : ansDec/10000000000); ansDec = std::abs(ansDec%10000000000 + 10000000000 * GetSign(ansInt))%10000000000; ansInt += (ansDec==0) ? 0 : tmp; }else{ ansInt += ansDec/10000000000; ansDec = (ansDec + 10000000000) % 10000000000; } inputDec = std::to_string(std::abs(ansDec)); std::cout << ansInt << '.'; for(unsigned int i=0; i<10-inputDec.size(); ++i){ std::cout << '0'; } std::cout << inputDec << "\n"; return 0; }