#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
//拆分整数与小数
void split(string & s,string & int_, string & dec_)
{
int pos = s.find('.');
int_ = s.substr(0,pos);
dec_ = (pos!=string::npos) ? s.substr(pos+1) : "";
}
//对齐小数
void aligndec(string & s1,string & s2)
{
if( s2.size()<s1.size() )
{
s2 = s2 + string(s1.size()-s2.size(),'0');
}else {
s1 = s1 + string(s2.size()-s1.size(),'0');
}
}
//对齐整数
void alignint(string & s1,string & s2)
{
if( s2.size()<s1.size() )
{
s2 = string(s1.size()-s2.size(),'0') + s2;
}else{
s1 = string(s2.size()-s1.size(),'0') + s1;
}
}
//加法
string add(string & s1,string & s2)
{
int n = s1.size();
int flag = 0;
int m;
string s;
for(int i=n-1; i>=0; i--)
{
m = (s1[i]-'0') + (s2[i]-'0') + flag;
flag = m/10;
s.push_back(m%10 + '0');
}
if(flag!=0) s.push_back(flag+'0');
reverse(s.begin(),s.end());
return s;
}
int main() {
string s1,s2;
while(cin>>s1>>s2)
{
string dec_1,dec_2,int_1,int_2;
split(s1,int_1,dec_1);
split(s2,int_2,dec_2);
aligndec(dec_1,dec_2);
alignint(int_1,int_2);
string dec_=add(dec_1,dec_2);
string int_=add(int_1,int_2);
if(dec_.size()>dec_1.size())//有进位
{
string str = string(1,dec_[0]);//将进位化为string类型方便add函数
alignint(int_, str);//整数对齐方便执行加法
int_ = add(int_,str);
dec_ = dec_.substr(1);//小数和中去掉进位
}
cout<<int_<<'.'<<dec_<<endl;
}
}
// 64 位输出请用 printf("%lld")