#include<bits/stdc++.h> using namespace std; string get_int(string s) { string tmp; for(int i=0;i<s.size();++i) if(s[i]!='.')tmp.push_back(s[i]); else break; return tmp; } string get_frac(string s) { string tmp; int flag=0; for(int i=0;i<s.size();++i) { if(flag)tmp.push_back(s[i]); if(s[i]=='.')flag=1; } return tmp; } string add_frac(string a,string b,int& c)//返回进位 { int len=max(a.size(),b.size()); string tmp,res; while(a.size()<len)a+="0"; while(b.size()<len)b+="0"; for(int i=len-1;i>=0;--i) { if(a[i]-'0'+b[i]-'0'+c>=10) { // cout<<"!!!"<<endl; tmp.push_back(a[i]-'0'+b[i]-10+c); c=1; } else { tmp.push_back(a[i]+b[i]-'0'+c); c=0; } } for(int i=0;i<len;++i) res+=tmp[len-i-1]; return res; } string add_int(string a,string b,int c) { int len=max(a.size(),b.size()); while(a.size()<len)a.insert(a.begin(),'0'); while(b.size()<len)b.insert(b.begin(),'0'); string tmp,res; for(int i=len-1;i>=0;--i) { if(a[i]-'0'+b[i]-'0'+c>=10) { // cout<<"!!!"<<endl; tmp.push_back(a[i]-'0'+b[i]-10+c); c=1; } else { tmp.push_back(a[i]+b[i]-'0'+c); c=0; } } if(c)tmp.push_back('1'); for(int i=0;i<tmp.size();++i) res+=tmp[tmp.size()-i-1]; return res; } int main() { // string s="1.1111"; // cout<<get_int(s)<<endl<<get_frac(s); string num1,num2; while(cin>>num1>>num2) { string fa,fb,ia,ib; int c=0;//小数部分进位 fa=get_frac(num1); fb=get_frac(num2); ia=get_int(num1); ib=get_int(num2); string res_f=add_frac(fa,fb,c); string res_i=add_int(ia,ib,c); cout<<res_i<<'.'<<res_f<<endl; } return 0; }