#include "stdio.h"
void main()
{
int a[80]; //第一个数
int b[80]; //第二个数
int c[80]; //结果
int i,j,m,k,temp;
// m=k=0;//temp用来存放每一位相加之后的和
int flag=0; //进位标志,有进位就是1,没进位就是0
char s;
for(i=0;i<80;i++)
scanf("%d",&a[i]);
scanf("%s",&s);//接收运算符
for(i=0;i<80;i++)
scanf("%d",&b[i]);
//加法
if(s=='+')
{
for(i=79;i>=0;i--)
{
temp=a[i]+b[i]+flag;
if(temp>9)
{
c[i]=temp-10; //相加之后的值减去10之后存放到数组c中第i+1位
flag=1;
}
if(temp<=9)
{
c[i]=temp;
flag=0;
}
}
//输出相加结果
if((a[0]+b[0]+flag)>10) //最高位相加之后有进位,那么在c[0]前面加上一个“1”
{
printf("1");
for(j=0;j<80;j++)
printf("%d",c[j]);
}
else
{
for(j=0;j<80;j++)
printf("%d",c[j]);
}
}
//减法
//先比较两个数的大小
if(s=='-')
{
for(i=0;i<80;i++)
{
if(a[i]==b[i])
continue;
if(a[i]>b[i])//a数大于b的情况
{
for(j=79;j>=0;j--)
{
if(a[j]>=b[j])
c[j]=a[j]-b[j];
else
{
c[j]=a[j]+10-b[j];
a[j-1]=a[j-1]-1;
}
}
for(i=0;i<80;i++)
if(c[i]==0)
continue;
else
{
for(j=i;j<80;j++)
printf("%d",c[j]);
break;
}
break;
}
if(a[i]<b[i])//a数小于b的情况
{
for(j=79;j>=0;j--)
{
if(b[j]>=a[j])
c[j]=b[j]-a[j];
else
{
c[j]=b[j]+10-a[j];
b[j-1]=b[j-1]-1;
}
}
//输出结果
for(i=0;i<80;i++)
if(c[i]==0)
continue;
else
{
printf("-");
for(j=i;j<80;j++)
printf("%d",c[j]);
break;
}
break;
}
}
}
}