#include <iostream>
#include <string>
using namespace std;
string sum(string str1, string str2)
{
string temp = ".";
string strTemp;
int strlen1, strlen2,flag1=0,flag2=0,flag=0,xiao1,xiao2;
int x, y;
strlen1 = str1.length();
strlen2 = str2.length();
if (strlen1 == 0 && strlen2 == 0)
return "NULL";
for (int i = 0; i < strlen1; i++)
{
if (str1[i] == '.')
{
flag1 = i;
break;
}
}
for (int i = 0; i < strlen2; i++)
{
if (str2[i] == '.')
{
flag2 = i;
break;
}
}
if (flag1 == 0)
{
if (flag2 == 0)
{
if (strlen1 < strlen2)
{
string tempstr = str1;
str1 = str2;
str2 = tempstr;
int numtemp = strlen1;
strlen1 = strlen2;
strlen2 = numtemp;
}
for ( x = strlen1 - 1, y = strlen2 - 1; x>0, y >= 0; x--, y--)
{
str1[x] = str1[x] + (str2[y] - '0') + flag;
if (str1[x] > '9')
{
str1[x] = (str1[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
}
}
else
{
string str22 = str2.substr(flag2);
string str21 = str2.substr(0,flag2);
xiao2 = strlen2 - 1 - flag2;
if (strlen1 < flag2 - 1)
{
string tempstr = str1;
str1 = str21;
str21 = tempstr;
}
for (x = str1.length() - 1, y = str21.length() - 1; x>0, y >= 0; x--, y--)
{
str1[x] = str1[x] + (str21[y] - '0') + flag;
if (str1[x] > '9')
{
str1[x] = (str1[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
}
str1 += str22;
}
}
else
{
if (flag2 == 0)
{
string str12 = str1.substr(flag1);
string str11 = str1.substr(0, flag1);
if (flag1 < strlen2)
{
string tempstr = str11;
str11 = str2;
str2 = tempstr;
}
for (x = str11.length() - 1, y = str2.length() - 1; x>0, y >= 0; x--, y--)
{
str11[x] = str11[x] + (str2[y] - '0') + flag;
if (str11[x] > '9')
{
str11[x] = (str11[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
}
str1 =str11+str12;
}
else
{
string str12 = str1.substr(flag1+1);
string str11 = str1.substr(0, flag1);
string str22 = str2.substr(flag2+1);
string str21 = str2.substr(0, flag2);
string strr;
cout << str12 << " " << str22 << endl;
cout << str11 << " " << str21 << endl;
if (str12.length() > str22.length())
{
strr = str12;
str12 = str22;
str22 = strr;
}
if (str11.length() < str21.length())
{
strr = str11;
str11 = str21;
str21 = strr;
}
for (x = str12.length() - 1; x >= 0; x--)
{
str22[x] = str12[x] + (str22[x] - '0') + flag;
if (str22[x] > '9')
{
str22[x] = (str22[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
}
for (x = str11.length() - 1, y = str21.length() - 1; x>0, y >= 0; x--, y--)
{
str11[x] = str11[x] + (str21[y] - '0') + flag;
if (str11[x] > '9')
{
str11[x] = (str11[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
}
str1 = str11 + "." + str22;
}
}
return str1;
}
int main()
{
string str1,str2;
cin >> str1 >> str2;
str1 = sum(str1, str2);
cout << str1 << endl;
system("pause");
return 0;
}
///
string sum(string str1, string str2)
{
string temp = ".";
string strTemp;
int strlen1, strlen2, flag1 = 0, flag2 = 0, flag = 0, xiao1, xiao2;
int x, y;
strlen1 = str1.length();
strlen2 = str2.length();
if (strlen1 == 0 && strlen2 == 0)
return "NULL";
if (strlen1 < strlen2)
{
string tempstr = str1;
str1 = str2;
str2 = tempstr;
int numtemp = strlen1;
strlen1 = strlen2;
strlen2 = numtemp;
}
for (x = strlen1 - 1, y = strlen2 - 1; x>=0; x--)
{
if (y >= 0){
str1[x] = str1[x] + (str2[y] - '0') + flag;
if (str1[x] > '9')
{
str1[x] = (str1[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
y--;
}
else{
str1[x] = str1[x] + flag;
if (str1[x] > '9')
{
str1[x] = (str1[x] - 0x30) % 10 + '0';
flag = 1;
}
else
{
flag = 0;
}
y--;
}
}
if (flag == 1){
str1 = "1" + str1;
}
return str1;
}