#include <iostream> #include <iterator> #include <vector> #include <algorithm> using namespace std; int main() { string a, b; while (cin >> a >> b) { // 注意 while 处理多个 case vector<char> a1,a2,b1,b2;int t1=0,t2=0; for(int i=0;i<a.length();i++){ if(a[i]=='.'){ t1=i;break; } } for(int i=0;i<b.length();i++){ if(b[i]=='.'){ t2=i;break; } } for(int i=0;i<t1;i++){ a1.push_back(a[i]); }//存储a的整数部分 for(int i=t1+1;i<a.length();i++){ a2.push_back(a[i]); }//a整数部分 for(int i=0;i<t2;i++){ b1.push_back(b[i]); }//bz for(int i=t2+1;i<b.length();i++){ b2.push_back(b[i]); }//bx int size1=a1.size(); int zlength=max(a1.size(),b1.size()); int flength=max(a2.size(),b2.size()); reverse(a1.begin(),a1.end()); reverse(b1.begin(),b1.end()); for(int i=a1.size()-1;i<zlength;i++){ a1.push_back('0'); } for(int i=a2.size()-1;i<flength;i++){ a2.push_back('0'); } for(int i=b1.size()-1;i<zlength;i++){ b1.push_back('0'); } for(int i=b2.size()-1;i<flength;i++){ b2.push_back('0'); } int z[zlength],f[flength]; for(int i=0;i<zlength;i++){ z[i]=a1[i]-'0'+b1[i]-'0'; } for(int i=0;i<flength;i++){ f[i]=a2[i]-'0'+b2[i]-'0'; }reverse(f,f+flength); if(f[flength-1]>9){f[flength-1]=f[flength-1]-10;z[0]+=1;} for(int i=0;i<zlength;i++){ if(z[i]>9){z[i]=z[i]-10;z[i+1]++;} } for(int i=0;i<flength;i++){ if(f[i]>9){f[i]=f[i]-10;f[i+1]++;} } reverse(z,z+zlength); reverse(f,f+flength); for(int i=0;i<zlength;i++){ cout<<z[i]; }cout<<"."; for(int i=0;i<flength;i++){ cout<<f[i]; } } } // 64 位输出请用 printf("%lld")