#include using namespace std; int main() { string A,B; cin >> A >> B; int sizA = A.size(),sizB = B.size(),lA = -1,lB = -1; for (int i = 0; i < sizA; i++) { if (A[i] == '.') lA = i; } for (int i = 0; i < sizB; i++) { if (B[i] == '.') lB = i; } bool under = false; if (lA == -1 && lB == -1) { under = false; } else if (lA == -1) { A.push_back('.'); lA = sizA; } else if (lB == -1) { B.push_back('.'); lB = sizB; } else under = true; if (under && sizA - lA > sizB - lB) { for (int i = 0; i < sizA - lA - sizB + lB; i++) { B.push_back('0'); } } else if (under) { for (int i = 0; i < sizB - lB - sizA + lA; i++) { A.push_back('0'); } } reverse(A.begin(),A.end()); reverse(B.begin(),B.end()); sizA = A.size(),sizB = B.size(); if (sizA > sizB) { for (int i = 0; i < sizA - sizB; i++) { B.push_back('0'); } } else { for (int i = 0; i < sizB - sizA; i++) { A.push_back('0'); } } sizA = A.size(),sizB = B.size(); string result; map number; number['0'] = 0; number['1'] = 1; number['2'] = 2; number['3'] = 3; number['4'] = 4; number['5'] = 5; number['6'] = 6; number['7'] = 7; number['8'] = 8; number['9'] = 9; string num = "0123456789"; int remain = 0,erased = 0; bool first = false; if (!under) first = true; for (int i = 0; i < sizA; i++) { if (A[i] == '.') { if (first) result.push_back('.'); continue; } int a = number[A[i]],b = number[B[i]]; char c = A[i]; if ((a + b + remain)%10 == 0 && !first) { remain = (a + b + remain)/10; } else { first = true; result.push_back(num[(a + b + remain)%10]); remain = (a + b + remain)/10; } } if (remain > 0) result.push_back(remain); reverse(result.begin(),result.end()); cout << result << endl; }