#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;
}