#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; char a[404],b[404]; int c1[404],d1[404],c2[404],d2[404],c[404],d[404]; int main() { while(cin>>a>>b) { int i,j,k,n,m,p1,p2,q1,q2,p,q; n=strlen(a); m=strlen(b); for(i=0;i<=400;i++) c1[i]=c2[i]=d1[i]=d2[i]=0; for(i=0;i<n;i++) if(a[i]=='.') break; if(i<n) { for(j=i-1,p1=0;j>=0;j--,p1++) c1[p1]=a[j]-'0'; for(j=i+1,q1=0;j<n;j++,q1++) d1[q1]=a[j]-'0'; } else { q1=0; for(i=n-1,p1=0;i>=0;i--,p1++) c1[p1]=a[i]-'0'; } //第二个数 for(i=0;i<m;i++) if(b[i]=='.') break; if(i<m) { for(j=i-1,p2=0;j>=0;j--,p2++) c2[p2]=b[j]-'0'; for(j=i+1,q2=0;j<m;j++,q2++) d2[q2]=b[j]-'0'; } else { q2=0; for(i=m-1,p2=0;i>=0;i--,p2++) c2[p2]=b[i]-'0'; } //小数部分 int temp=0,t; q=max(q1,q2); for(i=0;i<q;i++) d[i]=d1[i]+d2[i]; temp=0; for(i=q-1;i>=0;i--) { t=temp+d[i]; d[i]=t%10; temp=t/10; } while(q>=1&&d[q-1]==0) q--; //整数部分 p=max(p1,p2); for(i=0;i<p;i++) c[i]=c1[i]+c2[i]; for(i=0;i<p;i++) { t=temp+c[i]; c[i]=t%10; temp=t/10; } while(temp) { c[p++]=temp%10; temp=temp/10; } //输出结果 if(p==1&&c[0]==0) { cout<<"."; for(i=0;i<q;i++) cout<<d[i]; cout<<endl; } else { for(i=p-1;i>=0;i--) cout<<c[i]; if(q!=0) { cout<<"."; for(i=0;i<q;i++) cout<<d[i]; } cout<<endl; } } return 0; }