char arr[500000000] = { 0 };
char arr2[50000000] = { 0 };
char mm[500000000] = { 0 };
int move()
{
int i=0;
i = strlen(arr);
int right = --i;
int left = 0;
int temp;
while (right > left)
{
temp = arr[right];
arr[right]= arr[left];
arr[left] = temp;
right--;
left++;
}
}
void move2()
{
int i=0;
i = strlen(arr2);
int right = --i;
int left = 0;
int temp;
while (right > left)
{
temp = arr2[right];
arr2[right] = arr2[left];
arr2[left] = temp;
right--;
left++;
}
}
int main()
{
int a = 0;
int i=0;
gets(arr);
gets(arr2);
move();
move2();
for (;arr[i]!='\0'||arr2[i]!='\0';i++)
{
if(arr[i] != '\0' && arr2[i] != '\0')
a += (int)arr[i] + (int)arr2[i] - 48 * 2;
else
a += (int)arr[i] + (int)arr2[i] - 48;
if (a / 10 > 0)
{
mm[i] += a % 10;
a /= 10;
mm[i + 1] += a;
if (mm[i + 1] > 9)
{
mm[i + 2] += mm[i + 1] / 10;
mm[i + 1] -= 10;
}
a = 0;
}
else
{
mm[i] += a;
if (mm[i] > 9)
{
mm[i + 1] += mm[i] / 10;
mm[i] -= 10;
}
a = 0;
}
}
if (mm[i] == 0)
i--;
for (;i >= 0;i--)
{
printf("%d",(int)mm[i]);
}
return 0;
}