//#include <stdio.h>
//int main()
//{
// int A,B,C;
// while(scanf("%X%X",&A,&B)!=EOF)
// {
// C=A+B;
// if(C<0)
// {
// printf("-%X\n",~(C-1));
// }
// else
// printf("%X\n",C);
// C=0;
// }
// return 0;
//}
//输入的时候是10...10101010
//存储的时候是11...01010110补码形式 (补码:正数补码等于原码,负数所有取反加1)
//输出的时候是FF...56
//如果和的符号位是-的话,先-1再取反就变回原码形式
//然后再另外输出一个'-'(结果只输出正)
#include <cstdio>
int main()
{
__int64 a,b,c;
//十六进制数直接可以运算,字母X要大写
while(~scanf("%I64X%I64X",&a,&b))
{
c=a+b;
if(c<0)
printf("-%I64X\n",-c);
else
printf("%I64X\n",c);
}
return 0;
}
//int main()
//{
// int A,B,C;
// while(scanf("%X%X",&A,&B)!=EOF)
// {
// C=A+B;
// if(C<0)
// {
// printf("-%X\n",~(C-1));
// }
// else
// printf("%X\n",C);
// C=0;
// }
// return 0;
//}
//输入的时候是10...10101010
//存储的时候是11...01010110补码形式 (补码:正数补码等于原码,负数所有取反加1)
//输出的时候是FF...56
//如果和的符号位是-的话,先-1再取反就变回原码形式
//然后再另外输出一个'-'(结果只输出正)
#include <cstdio>
int main()
{
__int64 a,b,c;
//十六进制数直接可以运算,字母X要大写
while(~scanf("%I64X%I64X",&a,&b))
{
c=a+b;
if(c<0)
printf("-%I64X\n",-c);
else
printf("%I64X\n",c);
}
return 0;
}