#include<stdlib.h> #include<stdio.h> #include<algorithm> #include<iostream> #include<stack> #include<map> #include<set> #include<string> #include<string.h> #include<math.h> #include<vector> using namespace std; typedef long long LL; const int MAXN=1e5+10; int main(){ string s1,s2; while(cin>>s1>>s2){ vector<int>a; vector<int>b; vector<int>c; vector<int>c2; vector<int>e; vector<int>f; int jilu=0; int len1=s1.size(); int len2=s2.size(); int pos1=s1.find('.'); int pos2=s2.find('.'); int ge1=len1-pos1; int ge2=len2-pos2; int cha=abs(ge1-ge2); if(ge1>ge2){ for(int i=0;i<cha;i++){ s2+='0'; } } else{ for(int i=0;i<cha;i++){ s1+='0'; } } // cout<<s1<<endl; // cout<<s2<<endl; for(int i=s1.size()-1;i>=0;i--){ if(s1[i]!='.')a.push_back(s1[i]-'0'); else{ jilu=i; break; } } for(int i=jilu-1;i>=0;i--){ e.push_back(s1[i]-'0'); } for(int i=s2.size()-1;i>=0;i--){ if(s2[i]!='.')b.push_back(s2[i]-'0'); else{ jilu=i; break; } } for(int i=jilu-1;i>=0;i--){ f.push_back(s2[i]-'0'); } // for(int i=0;i<a.size();i++)cout<<a[i]; // cout<<endl; // for(int i=0;i<b.size();i++)cout<<b[i]; // cout<<endl; // for(int i=0;i<e.size();i++)cout<<e[i]; // cout<<endl; // for(int i=0;i<f.size();i++)cout<<f[i]; // cout<<endl; int t=0; for(int i=0;i<a.size()||i<b.size();i++){ if(i<a.size())t+=a[i]; if(i<b.size())t+=b[i]; c.push_back(t%10); t/=10; } // cout<<c[0]<<'.'; // for(int i=1;i<c.size();i++)cout<<c[i]; for(int i=0;i<e.size()||i<f.size();i++){ if(i<e.size())t+=e[i]; if(i<f.size())t+=f[i]; c2.push_back(t%10); t/=10; } if(t!=0)c2.push_back(t); reverse(c2.begin(),c2.end()); reverse(c.begin(),c.end()); for(int i=0;i<c2.size();i++)cout<<c2[i]; cout<<'.'; for(int i=0;i<c.size();i++)cout<<c[i]; } return 0; }