#include<bits/stdc++.h>
using namespace std;
string get_int(string s)
{
string tmp;
for(int i=0;i<s.size();++i)
if(s[i]!='.')tmp.push_back(s[i]);
else break;
return tmp;
}
string get_frac(string s)
{
string tmp;
int flag=0;
for(int i=0;i<s.size();++i)
{
if(flag)tmp.push_back(s[i]);
if(s[i]=='.')flag=1;
}
return tmp;
}
string add_frac(string a,string b,int& c)//返回进位
{
int len=max(a.size(),b.size());
string tmp,res;
while(a.size()<len)a+="0";
while(b.size()<len)b+="0";
for(int i=len-1;i>=0;--i)
{
if(a[i]-'0'+b[i]-'0'+c>=10)
{
// cout<<"!!!"<<endl;
tmp.push_back(a[i]-'0'+b[i]-10+c);
c=1;
}
else
{
tmp.push_back(a[i]+b[i]-'0'+c);
c=0;
}
}
for(int i=0;i<len;++i)
res+=tmp[len-i-1];
return res;
}
string add_int(string a,string b,int c)
{
int len=max(a.size(),b.size());
while(a.size()<len)a.insert(a.begin(),'0');
while(b.size()<len)b.insert(b.begin(),'0');
string tmp,res;
for(int i=len-1;i>=0;--i)
{
if(a[i]-'0'+b[i]-'0'+c>=10)
{
// cout<<"!!!"<<endl;
tmp.push_back(a[i]-'0'+b[i]-10+c);
c=1;
}
else
{
tmp.push_back(a[i]+b[i]-'0'+c);
c=0;
}
}
if(c)tmp.push_back('1');
for(int i=0;i<tmp.size();++i)
res+=tmp[tmp.size()-i-1];
return res;
}
int main()
{
// string s="1.1111";
// cout<<get_int(s)<<endl<<get_frac(s);
string num1,num2;
while(cin>>num1>>num2)
{
string fa,fb,ia,ib;
int c=0;//小数部分进位
fa=get_frac(num1);
fb=get_frac(num2);
ia=get_int(num1);
ib=get_int(num2);
string res_f=add_frac(fa,fb,c);
string res_i=add_int(ia,ib,c);
cout<<res_i<<'.'<<res_f<<endl;
}
return 0;
}