#include <iostream> #include <string> #include <algorithm> using namespace std; void PaddingInteger(string &s, int num){ if(s.size()==num) return; int padding = num - s.size(); for (int i = 0; i < padding; ++i) { s = '0' + s; } } void PaddingDecimal(string &s, int num){ if(s.size()==num) return; int padding = num - s.size(); for (int i = 0; i < padding; ++i) { s = s + '0'; } } string StrSum(string aU, string aL, string bU, string bL){ int carry=0, sum=0; string temL="", temU=""; for (int i = aL.size()-1; i >=0 ; --i) { sum = int(aL[i]-'0') + int(bL[i]-'0') + carry; carry = sum/10; temL.push_back(char(sum%10)+'0'); } sum = 0; for (int i = aU.size()-1; i >=0 ; --i) { sum = int(aU[i]-'0') + int(bU[i]-'0') + carry; carry = sum/10; temU.push_back(char(sum%10)+'0'); } reverse(temL.begin(),temL.end()); reverse(temU.begin(),temU.end()); string result = temU + "." + temL; return result; } int main() { string a,b; while (cin>>a>>b){ string aU = a.substr(0,a.find(".")); string aL = a.substr(a.find(".")+1); string bU = b.substr(0,b.find(".")); string bL = b.substr(b.find(".")+1); int dU = aU.size()>bU.size() ? aU.size() : bU.size(); int dL = aL.size()>bL.size() ? aL.size() : bL.size(); PaddingInteger(aU,dU); PaddingInteger(bU,dU); PaddingDecimal(aL,dL); PaddingDecimal(bL,dL); string result = StrSum(aU,aL,bU,bL); cout<<result<<endl; } return 0; }