#include <iostream>
using namespace std;

//实现string+1
void Add_1(string &s)
{
    bool add=false;
    for(int i=s.size()-1; i>=0; i--)
    {
        if(s[i]<'9')
        {
            add=true;
            s[i]=s[i]+1;
            for(int j=i+1; j<s.size(); j++)
                s[j]='0';
            break;
        }
    }
    if(!add)
    {
        for(int i=0; i<s.size(); i++)
            s[i]='0';
        s='1'+s;
    }
}

int main()
{
    string s1,s2;
    while(cin>>s1>>s2)
    {
        string z1,z2;
        string x1,x2;
        bool guo=false;
        for(int i=0; i<s1.size(); i++)
        {
            if(s1[i]=='.')
                guo=true;
            if(!guo) //整数部分
                z1=z1+s1[i];
            else//小数部分
                x1=x1+s1[i];
        }
        x1.erase(0,1);
        guo=false;
        for(int i=0; i<s2.size(); i++)
        {
            if(s2[i]=='.')
                guo=true;
            if(!guo) //整数部分
                z2=z2+s2[i];
            else//小数部分
                x2=x2+s2[i];
        }
        x2.erase(0,1);

        //整数部分
        //对齐
        int m=z2.size()-z1.size();
        if(m>0)
        {
            for(int i=1; i<=m; i++)
            {
                z1='0'+z1;
            }
        }
        m=z1.size()-z2.size();
        if(m>0)
        {
            for(int i=1; i<=m; i++)
            {
                z2='0'+z2;
            }
        }
        //进行计算
        string z="";
        bool jin=false;
        for(int i=z1.size()-1; i>=0; i--)
        {
            char t;
            if(jin)
                t=(z1[i]+z2[i]-'0'-'0'+1)%10+'0';
            else
                t=(z1[i]+z2[i]-'0'-'0')%10+'0';
            z=t+z;
            if(jin)
                jin=(z1[i]+z2[i]-'0'-'0'+1)>=10?true:false;
            else
                jin=(z1[i]+z2[i]-'0'-'0')>=10?true:false;
        }
        if(jin)
            z='1'+z;


        //小数部分
        //对齐
        if(x1.size()<x2.size())
        {
            for(int i=x1.size(); i<x2.size(); i++)
                x1=x1+'0';
        }
        else
        {
            for(int i=x2.size(); i<x1.size(); i++)
                x2=x2+'0';
        }
        //进行计算
        string x="";
        jin=false;
        for(int i=x1.size()-1; i>=0; i--)
        {
            char t;
            if(jin)
                t=(x1[i]+x2[i]-'0'-'0'+1)%10+'0';
            else
                t=(x1[i]+x2[i]-'0'-'0')%10+'0';
            x=t+x;
            if(jin)
                jin=(x1[i]+x2[i]-'0'-'0'+1)>=10?true:false;
            else
                jin=(x1[i]+x2[i]-'0'-'0')>=10?true:false;
        }
        if(jin)
            Add_1(z);
        cout<<z<<"."<<x<<endl;
    }
    return 0;
}