#include <iostream>
#include <algorithm>
using namespace std;
int main() {
string a,b;
cin>>a>>b;
//先对齐小数点
string res;
int i,j;
for(i=0;i<a.size();i++){
if(a[i]=='.') break;
}
for(j=0;j<b.size();j++){
if(b[j]=='.') break;
}
//直接把小数部分长出来的部分加入res
for(;i<a.size()&&j<b.size();i++,j++){}
if(j==b.size()) res+=a.substr(i);
if(i==a.size()) res+=b.substr(j);
//因为最后要逆序输出,所以要翻转一下
reverse(res.begin(),res.end());
//i,j均指向小数部分最低位
i--,j--;
//算小数部分
int t=0;
for(;a[i]!='.';i--,j--){
t+=a[i]-'0';
t+=b[j]-'0';
res+='0'+t%10;
t/=10;
}
res+='.';
i--,j--;//i,j均指向整数部分最低位
//算整数部分
for(;i>=0||j>=0;i--,j--){
if(i>=0) t+=a[i]-'0';
if(j>=0) t+=b[j]-'0';
res+='0'+t%10;
t/=10;
}
if(t) res+='0'+t%10;
//倒序输出
for(int k=res.size()-1;k>=0;k--)
cout<<res[k];
cout<<endl;
return 0;
}