semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	char a[255],b[255];
	int k[255]={0};
	int c,d,e,i,f;
	gets(a);
	gets(b);
	c=(int)strlen(a);
	d=(int)strlen(b);
	for(i=0;i<c/2;i++)
	{
		e=a[i];
		a[i]=a[c-1-i];
		a[c-1-i]=e;
	}
	for(i=0;i<d/2;i++)
	{
		f=b[i];
		b[i]=b[d-1-i];
		b[d-1-i]=f;
	}
	if(c>d)
	{
		for(i=0;i<d;i++)
		{
			k[i]=a[i]+b[i]-'0'-'0'+k[i];
		}
		for(i=d;i<c;i++)
		{
			k[i]=k[i]+a[i]-'0';
		}
		for(i=0;i<c;i++)
		{
			k[i+1]=k[i+1]+k[i]/10;
			k[i]=k[i]%10;
		}
		for(i=c;i>=0;i--)
		{
			c=i;
	    	if(k[i]!=0)
			{
		    	break;
			}
		}
		for(i=c;i>=0;i--)
		{
		    printf("%d",k[i]);
		}
	}
	else
	{
		for(i=0;i<c;i++)
		{
			k[i]=a[i]+b[i]-'0'-'0'+k[i];
		}
		for(i=c;i<d;i++)
		{
			k[i]=k[i]+b[i]-'0';
		}
		for(i=0;i<d;i++)
		{
			k[i+1]=k[i+1]+k[i]/10;
			k[i]=k[i]%10;
		}
		for(i=d;i>=0;i--)
		{
			d=i;
	    	if(k[i]!=0)
			{
		    	break;
			}
		}
		for(i=d;i>=0;i--)
		{
	    	printf("%d",k[i]);
		}
	}
	return 0;
}
int main()
{
	int i,j,la,lb,l,a2[251],b2[251],result[251];
	char a[251],b[251];
	cin.getline(a,251);
	cin.getline(b,251);
	la=strlen(a);
	lb=strlen(b);
	if(la>lb) l=la;
	else l=lb;
	memset(result,0,sizeof(result));
	memset(a2,0,sizeof(a2));
	memset(b2,0,sizeof(b2));
	for(i=0;i<la;i++)
		a2[i]=a[la-i-1]-48;
	for(i=0;i<lb;i++)
		b2[i]=b[lb-i-1]-48;
	for(i=0;i<l;i++)
	{
		result[i]=result[i]+a2[i]+b2[i];
		if(result[i]>=10)
		{
			result[i]=result[i]-10;
			result[i+1]++;
		}
	}
	if((a2[0]==0)&&(b2[0]==0)) cout<<'0';
	else 
	{
		for(i=250;i>0;i--)
		{
			if(result[i]!=0) break;
		}
		for(j=i;j>=0;j--)
			cout<<result[j];
	}

	return 0;
}
int main()
{
    char a[251],b[251],c[252];
    for(int i=0;i<252;i++)
    c[i]=0;
    int x[251],y[251];
    scanf("%s%s",a,b);
    int la=strlen(a);
    int lb=strlen(b);
    if(la==1&&lb==1&&a[0]=='0'&&b[0]=='0')
    {
      printf("0\n");
      return 0;
    }
    int len=la>lb?la:lb;
   // printf("%d %d %d\n",la,lb,len);
    int i=0,j=0,m=0;
    for(i=la-1;i>=0;i--)
    x[j++]=a[i]-'0';
    j=0;
    for(i=lb-1;i>=0;i--)
    y[j++]=b[i]-'0';
    if(len>la)
    for(i=la;i<len;i++)
    x[i]=0;
    if(len>lb)
    for(i=lb;i<len;i++)
    y[i]=0;
    j=0;
    for(i=0;i<len;i++)
    {
       if(c[j]+x[i]+y[i]<10)
       {
          c[j]+=x[i]+y[i]+'0';
          j++;
       }
       else
       {
           c[j]+=(x[i]+y[i]-10)+'0';
           c[j+1]=1;
           j++;
       }
    }
    if(c[len]==1)
    c[len]=1+'0';
    for(i=len;i>=0;i--)
    if(c[i]!='0'&&c[i]!=0)break;
    for(;i>=0;i--)
    printf("%c",c[i]);
    printf("\n");
    //printf("%s\n%s\n",a,b);
    return 0;
}
int main()
{
	char s1[251],s2[251],s3[252],c;
	int i,l1,l2,l3,s,temp=0;
	cin>>s1>>s2;
	l1=strlen(s1);
	l2=strlen(s2);
	if (l1<l2)
	{
		for (i=0;i<=l2;i++)
		{
			c=s1[i];
			s1[i]=s2[i];
			s2[i]=c;
		}
		l3=l1;
		l1=l2;
		l2=l3;
	}
	for (i=l2-1;i>=0;i--)
		s2[i+l1-l2]=s2[i];
	for (i=0;i<l1-l2;i++)
		s2[i]='0';
	for (i=l1-1;i>=0;i--)
	{
		s=s1[i]-'0'+s2[i]-'0'+temp;
		if (s>9)
		{
			temp=1;
			s3[i]=s-10+'0';
		}
		else
		{
			temp=0;
			s3[i]=s+'0';
		}
	}
	s3[l1]='\0';
	
	if (temp)
	{
		l3=strlen(s3);
		for (i=l3;i>=0;i--)
			s3[i+1]=s3[i];
		s3[0]='1';
	}

	int counter=0;
	l3=strlen(s3);
	for (i=0;i<l3;i++)
	{
		if (!counter)
		{
			if (s3[i]!='0')
			{
				cout<<s3[i];
				counter++;
			}
		}
		else
			cout<<s3[i];
	}
	if (!counter)
		cout<<"0";
	cout<<endl;
	return 0;
}
int main()
{
	char a[251],b[251],c[252];
	int la,lb,i,m,tt;	

	scanf("%s%s",a,b);
	la= strlen(a);
	lb= strlen(b);
	m= la<lb?lb:la ;
	
    for (i=m-1;i>=0;i--)
	{
		if (m==la)
		{
			if (i>=la-lb)
				b[i]=b[i-la+lb];
			else b[i]='0';
		}
		else 
		{
			if (i>=lb-la)
				a[i]=a[i+la-lb];
			else a[i]='0';
		}
	}
//printf("%s\n%s\n",a,b);
	for (i=0; i<=m;i++)
		c[i]='0';

	for (i=m;i>=1;i--)
	{
		c[i]=a[i-1]+b[i-1]+c[i]-96;
		if (c[i]>57)
		{
			c[i]=c[i]-10;
			c[i-1]++;
		}
	}
    tt=0;
	for (i=0;i<=m;i++)
	{
		if (c[i]!='0')
			tt=1;
		if ((c[i]=='0') && (tt==0))
			continue;
		else 
			printf("%c",c[i]);
	}
	printf("\n");
	return 0;
}
int main()
{
	char a[251],b[251];
	cin>>a>>b;
	int len1=strlen(a);
	int len2=strlen(b);
	if(len1==1 && len2==1 && a[0]=='0' && b[0]=='0')
	{
		cout<<0<<endl;
		return 0;
	}
	if(len1>len2)
	{
		char temp[251];
		strcpy(temp,a);
		strcpy(a,b);
		strcpy(b,temp);
	}

	len1=strlen(a);
	len2=strlen(b);
		int over=0;
		int i;
		for(i=len1-1;i>=0;i--)
		{
			int t=len2-len1+i;
			b[t]+=a[i]-'0';
			if(b[t]>'9')
			{
				b[t]-=10;
				if(t>0)
					b[t-1]+=1;
				else
					over=1;
			}
		}
		for(i=len2-1;i>0;i--)
		{
			if(b[i]>'9')
			{
				b[i]-=10;
				b[i-1]+=1;
			}
		}
		if(b[0]>'9')
		{
			b[0]-=10;
			over=1;
		}
		if(over>0)
			cout<<over;
		else
		{
			for(i=0;i<len2;i++)
			{
				if(b[i]!='0')
					break;
			}
		}
		cout<<b+i<<endl;
}
main(){
	char s1[250], s2[250];
	int i, j, l1, l2, l, num[250], n[250];
	scanf("%s", s1);
	scanf("%s", s2);
	if(strcmp(s1, s2)==0) printf("0");
	else{
	l1=strlen(s1);
	l2=strlen(s2);
	for(i=0; i<250; i++){
		if(s1[i]>=48 && s1[i]<=57) s1[i]-=48;
		else s1[i]=0;
		if(s2[i]>=48 && s2[i]<=57) s2[i]-=48;
		else s2[i]=0;
	}
	for(i=0; i<l1; i++) for(j=l1; j==l1; j++){
		s1[249-i]=s1[j-i-1];
		s1[j-i-1]=0;
	}
	for(i=0; i<l2; i++) for(j=l2; j==l2; j++){
		s2[249-i]=s2[j-i-1];
		s2[j-i-1]=0;
	}
	for(i=0; i<250; i++) num[i]=s1[i]+s2[i];
	n[249]=num[249];
	for(i=248; i>=0; i--) n[i]=num[i]+(n[i+1]>=10);
	l=(n[0]>=10);
	for(i=0; i<250; i++) n[i]-=10*(n[i]>=10);
	if(l==1){
		printf("1");
		for(i=249-((l1>l2)*l1+(l1<=l2)*l2); i<250; i++) if(n[i]>0 || i==249) break;
		for(j=i; j<250; j++) printf("%d", n[j]);
	}
	else{
		for(i=249-((l1>l2)*l1+(l1<=l2)*l2); i<250; i++) if(n[i]>0 || i==249) break;
		for(j=i; j<250; j++) printf("%d", n[j]);
	}
}}
int main()
{
    int i,m,ma1,a1,b1,n=0;//????
    char a[251],b[251],c[252];
    cin.getline(a,250);//????
    cin.getline(b,250);
    a1=strlen(a);//??????
    b1=strlen(b);
    if(a1>=b1)//?0
    {
        m=a1;
       for(i=b1-1;i>=0;i--) b[i+a1-b1]=b[i];
       for(i=0;i<a1-b1;i++) b[i]='0';
    }
    else
    {
        m=b1;
      for(i=a1-1;i>=0;i--) a[i+b1-a1]=a[i];
      for(i=0;i<b1-a1;i++) a[i]='0';
    }
    for(i=m-1;i>=0;i--)//??????
    {
        if((a[i]+b[i]-96+n)<10) { c[i+1]=a[i]+b[i]-48+n;n=0;}
        else { c[i+1]=a[i]+b[i]-48-10+n;n=1;}

    }
    if(n==1) //????
        {
        c[0]='1';
        for(i=0;i<=m;i++) cout<<c[i];
        }
        else
        {
            int j=1,q=1,p=0,k;
            for(k=1;k<=m;k++) {if(c[k]!='0') {p=1;break;}}
            if(p){
            while(c[j]=='0') {q++;j++;}
            for(i=q;i<=m;i++) cout<<c[i];
            }
            else cout<<'0';
        }
    return 0;
}
int f(char a[],char b[],char * p)
{
     int m,n,N=0;
     m=strlen(a);
     n=strlen(b);
     for (int i=0;i<m;i++)
     {
         if (a[m-1-i]+b[n-1-i]-'0'-'0'<10)
         p[n-1-i]=a[m-1-i]+b[n-1-i]-'0';
         else
         {
             p[n-1-i]=a[m-1-i]+b[n-1-i]-'0'-10;
             if(n-2-i>=n-m)
             b[n-2-i]++;
             else
             N=1;
         }
     }
     if (N==0)
     {
              for(int i=0;i<n-m;i++)
              p[i]=b[i];
              p[n]=0;
     }
     else
     {
                  if(m==n)
                  {
                          for(int i=0;i<n;i++)
                          p[n-i]=p[n-1-i];
                          p[0]='1';
                          p[n+1]=0;
                  }
                  else
                  {
                      for(int i=0;i<n-m;i++)
                      {
                          if(b[n-m-1-i]<'9')
                          {
                              b[n-m-1-i]++;
                              break;
                          }
                          else
                          {
                              b[n-m-1-i]='0';
                              N=2;
                          }
                      }
                      if(N==1)
                      {
                          for(int i=0;i<n-m;i++)
                          p[i]=b[i];
                          p[n]=0;
                      }
                      else
                      {
                          p[0]='1';
                          for(int i=0;i<m;i++)
                          p[n-i]=p[n-1-i];
                          for(int i=0;i<n-m;i++)
                          p[i+1]=b[i];
                          p[n+1]=0;
                      }
                  }
                  
     } 
}
int main()
{
    char a[260];
    char b[260];
    char c[260];
    gets(a);
    gets(b);
    
    int m,n,i;
    m=strlen(a);
    n=strlen(b);
    while(a[0]=='0'&&a[1]!=0)
    {
                 for(int j=0;j<m;j++)
                 a[j]=a[j+1];
                 m--;
                 a[m]=0;
    }
    while(b[0]=='0'&&b[1]!=0)
    {
                 for(int j=0;j<n;j++)
                 b[j]=b[j+1];
                 n--;
                 b[n]=0;
    }
    if(m>n)
    f(b,a,c);
    else
    f(a,b,c);
    printf("%s\n",c);
}
void main()
{
	char a[1000]={0},b[1000]={0},c[1000]={0};
	int na,nb,i,sum,add=0,max,flag;
	scanf("%s\n%s",a,b);  /* ????? */
    
	na=strlen(a);
	nb=strlen(b);
	
	if(na>=nb)
	{
		max=na;
		for(i=na-1;i-na+nb>=0;i--)
			b[i]=b[i-na+nb];
		for(i=0;i<na-nb;i++)
			b[i]='0';
	}
	
	else if(na<nb)
	{
		max=nb;
		for(i=nb-1;i-nb+na>=0;i--)
			a[i]=a[i-nb+na];
		for(i=0;i<nb-na;i++)
			a[i]='0';
	}
	
    
	for(i=max;i>0;i--)
	{
        sum=(a[i-1]-48)+(b[i-1]-48)+add;
        add=sum/10;
        c[i]=sum-add*10;
	}

	if(add!=0)
	{
		printf("%d",add);
		for(i=1;i<=max;i++)
			printf("%d",c[i]);
	}

	else if(add==0)
	{		
		for(i=1;i<=max;i++)   /* ?c??????0??? */
		{
			if(c[i]!=0)
			{
				flag=i;
				break;
			}
			else if(c[i]==0)
				flag=0;
		}	
		if(flag==0)     /*??0*/
			printf("0");
		else
			for(i=flag;i<=max;i++)
				printf("%d",c[i]);
	}
}
int main()
{
	char a[300];
	char b[300];
	char c[300];
	memset(c,0,sizeof(char)*300);
	cin>>a;
	cin>>b;
	int ci = 299;
	int ai = strlen(a)-1;
	int bi = strlen(b)-1;
	int jinwei = 0;
	while(ai>=0 && bi>=0)
	{
		c[ci] = (jinwei+a[ai]+b[bi]-2*'0')%10 + '0';
		jinwei = (jinwei+a[ai]+b[bi]-2*'0')/10;
		ai--;
		bi--;
		ci--;
	}
	while(ai>=0)
	{
		c[ci] = (jinwei+a[ai]-'0')%10 +'0';
		jinwei = (jinwei+a[ai]-'0')/10;
		ci--;
		ai--;
	}
	while(bi>=0)
	{
		c[ci] = (jinwei+b[bi]-'0')%10 +'0';
		jinwei = (jinwei+b[bi]-'0')/10;
		ci--;
		bi--;
	}
	while(ci>=0)
	{
		c[ci] = jinwei + '0';
		jinwei = 0;
		ci--;
	}
	int i;
	for(i=0;i<300;i++)
	{
		if(c[i]>'0')
			break;
	}
	if(i==300)
		cout<<0<<endl;
	else
	{
		for(i; i<300;i++)
			cout<<c[i];
		cout<<endl;

	}



	return 0;
}
int main()
{
	int i, l1, l2, j = 251, up = 0, m;
	char a[251], a2[252];
	char b[251], b2[252];
	char result[252]; 
	m = 0;
	up = 0;
		cin >> a;
		cin >> b;
		l1 = strlen(a);
		l2 = strlen(b);
		for (i = 0; i < 251; i++)
		{
			a2[i] = '0'; 
			b2[i] = '0'; 
			result[i] = '0';
		}
		j = 250;
		for(i = l1 - 1; i >= 0; i--)
		{
			a2[j] = a[i];
			j--;
		}
		j = 250;
		for(i = l2 - 1; i >= 0; i--)
		{
			b2[j] = b[i];
			j--;
		}
		b2[251] = '\0'; 
		a2[251] = '\0'; 
		result[251] = '\0';
		for (i = 250; i >=0; i --)
		{
			m =  (up + ((a2[i] - '0') +(b2[i] - '0')))% 10;
			result[i] = m + '0'; 
			up =(up +(a2[i] - '0') +(b2[i] - '0')) / 10;
		}
		for (i = 0; i < 250; i++)
		{
			if (result[i] != '0')
			{
				break;
			}
		} 
		cout << result+ i;
		cout <<endl;
	return 0;
}
int main()
{
	int an1[MAX_LEN]; 
	int an2[MAX_LEN];
    int sum[MAX_LEN];
	char seLine1[MAX_LEN]; 
	char seLine2[MAX_LEN];
	
	
	gets(seLine1);
	gets(seLine2);	
	
	int nLen1 = strlen(seLine1);
	int nLen2 = strlen(seLine2);
	
	memset(an1, 0, sizeof(an1));
	memset(an2, 0, sizeof(an2));
    memset(sum, 0, sizeof(sum));

	int i, j, c;
	for (i = nLen1-1,j=0; i>=0; i--, j++)
		an1[j] = seLine1[i] - '0'; 
	for (i = nLen2-1,j=0; i>=0; i--, j++)
		an2[j] = seLine2[i] - '0';


	c = 0;
	for (i = 0; i < MAX_LEN ; i++)
	{
		sum[i] = an1[i] + an2[i] + c;
		c=0;
		while(sum[i] >= 10)
		{
			sum[i] -= 10;
			c++;	
		}
        
	}
	i = MAX_LEN-1;
	while(sum[i]==0) i--;
	if(i==-1)printf("0"); 
	for(;i >= 0; i--)
		printf("%d", sum[i]); 
	printf("\n");

	return 0;
}
main()
{
      int l1,l2,l,m,i,k,g,f;
      char str1[250],str2[250],str3[252],str4[251];
      gets(str1);
      gets(str2);

      l1=strlen(str1);
      
      l2=strlen(str2);
      if(  l1==1&&l2==1&&str1[0]=='0'&&str2[0]=='0')
         printf("%s",str1);
      else
      {   
    //  printf("%d %d",l1,l2);
      if(l1>l2)
        {
               
        l=l1;m=l1-l2;  
               
                 for(i=m;i<=l-1;i++)
                 {
                                  str4[i]=str2[i-m];
                                 }
                 for(i=0;i<m;i++)
                 {
                               str2[i]='0';
                               
                 }
                 // printf("%s %s",str4,str2);
                 for(i=m;i<=l-1;i++)
                 str2[i]=str4[i];
                 str2[l]='\0';
                 
              //   printf("%s",str2);
             
              //  printf("%s",str2);
               
               }
        
      else
        {
               l=l2;m=l2-l1;  
               
                 for(i=m;i<=l-1;i++)
                 {
                                  str4[i]=str1[i-m];
                                 }
                 for(i=0;i<m;i++)
                 {
                               str1[i]='0';
                               
                 } 
                 for(i=m;i<=l-1;i++)
                 str1[i]=str4[i];
                 
                 str1[l]='\0';
             
           //    printf("%s",str1);
        }
        g=0;
        //printf("%d",l);
        for(i=l-1;i!=-1;i=i-1)
       { //printf("%d",l);  
       
                            
      //printf("%d",i);       
                         if(str1[i]+str2[i]+g-48>'9')
                            {
                                    str3[i+1]=g+str1[i]+str2[i]-58;
                                    g=1;      
                                    //printf("%c %c\n",str1[i],str1[i]);     
                             //printf("%c",str3[i+1]) ;                  
                            }
                            else
                            {
                                str3[i+1]=str1[i]+str2[i]+g-48;
                            g=0;
                            }
      }
      str3[l+1]='\0';
      k=0;
      
     if(g==1)
      str3[0]='1';
     if(g==0)
     {
     for(i=0;i<=l;i++)
     str3[i]=str3[i+1];
     }
    for(i=0;;i++)
      {
        if(str3[i]!='0')
        break;
        k=k+1;
      
        }  
          //printf("%d",k); 
        for(i=0;i<=l;i++)
           {
           str3[i]=str3[i+k];   
         //  printf("%c",str3[i]);
          }
           //printf("%c",str3[0]);
           
   printf("%s\n",str3);
      
      
      
      }
      }
void main()
{
	char a[251],b[251],t='0';
	int c[252]={0},d[252]={0},l,l1,l2,i,x=0,l0=0;
	gets(a);
	gets(b);
	l1=strlen(a);
	l2=strlen(b);
	if(l1>l2)
	{
		l=l1;
		for(i=l2;i<l;i++) b[i]='0';
		for(i=l2-1;i>=0;i--)
		{
			t=b[i];b[i]=b[l-l2+i];b[l-l2+i]=t;
		}
	}
	else if(l1<l2)
	{
		l=l2;
		for(i=l1;i<l;i++) a[i]='0';
		for(i=l1-1;i>=0;i--)
		{
			t=a[i];a[i]=a[l-l1+i];a[l-l1+i]=t;
		}
	}
	else l=l1;
	if(l==1) {x=a[0]+b[0]-96;printf("%d",x);}
	else
	{
		for(i=l-1;i>0;i--)
		{
			c[i]=a[i]+b[i]-96+c[i];
			if(c[i]>9)
			{
				c[i]=c[i]-10;
				c[i-1]=c[i-1]+1;
			}
		}
	c[0]=c[0]+a[0]+b[0]-96;
	if(c[0]>9)
	{
		c[0]=c[0]-10;c[l]=1;
	}
	if(c[l])
	{
		printf("%d",c[l]);
		for(i=1;i<=l;i++) printf("%d",c[i-1]);
	}
	else
	{
		l0=l;
		for(i=1;i<=l;i++)
			if(c[i-1]==0) l0--;else break;
		if(l0<l)
		{
			for(i=l;i>l-l0;i--) d[l-i]=c[i-1];
			for(i=l0;i>=1;i--) printf("%d",d[i-1]);
		}
		else for(i=1;i<=l;i++) printf("%d",c[i-1]);
	}
	}
	printf("\n");
}
int main()
{
    char str1[300],str2[300];
    cin.getline(str1,300);
    cin.getline(str2,300);
    int a[300]={0},a1[300]={0},a2[300]={0},t1,t2;
    t1=strlen(str1);
    t2=strlen(str2);
    for(int i=0;i<t1;i++)
    a1[t1-1-i]=(int)(str1[i]-'0');
    for(int i=0;i<t2;i++)
    a2[t2-1-i]=(int)(str2[i]-'0');
    for(int i=0;i<300;i++)
    {
        a[i]=a1[i]+a2[i];
    }
    for(int i=0;i<299;i++)
    {
        a[i+1]+=a[i]/10;
        a[i]=a[i]%10;
    }
    int j;
    for(j=299;j>=0;j--)
    {
        if(a[j]!=0)
        break;
    }
    if(j==-1)
    cout<<a[0]<<endl;
    else
    {
    for(int i=j;i>=0;i--)
    cout<<a[i];
    cout<<endl;
    }
    
    return 0;
}
int main()
{
	char num[3][251];        //????num???????????
	int lenth[3];       //?????????????
	int i,j,k,sign=0,sign2=0,sign3=0;
	cin.getline(num[0],250);
	cin.getline(num[1],250);
	lenth[0]=strlen(num[0]);
	lenth[1]=strlen(num[1]);
	if(lenth[0]>=lenth[1])    //???????????????????????????????????????????????
	{
		lenth[2]=lenth[0];
		for(i=0;i<lenth[0];i++)
			num[2][i]=num[0][i];
	}
	else
	{
		lenth[2]=lenth[1];
		for(i=0;i<lenth[1];i++)
			num[2][i]=num[1][i];
	}
	for(i=lenth[0]-1,j=lenth[1]-1,k=lenth[2]-1;(i>=0)&&(j>=0);i--,j--,k--)
	{
		num[2][k]=num[0][i]-'0'+num[1][j]-'0';         //?????????
		if(sign==1)                   //?????????????????
			num[2][k]++;
		sign=0;          //?????????
		if((int)num[2][k]>=10)          //?????????????10??????10??????????????????1
		{
			num[2][k]=num[2][k]-10+'0';
			sign=1;
		}
		else num[2][k]+='0';               //?????????
	}

	if(sign==1)            //??????????????????
		{
		if(lenth[0]==lenth[1])       //?????????????????????
		sign2=1;
		else
		{
			while(num[2][k]=='9')      //????????????9??????0?????????????????9?
			{
				num[2][k]='0';
				k--;
				if(k<0)
				{
					sign2=1;         //????????????????????????
					break;
				}
			}
			if(k>=0)          //??????9??????????
			num[2][k]++;
		}
		}
	if(sign2==1)         //?????????????????????????????1
		cout<<1;
	if(sign2!=1)          //??????????1???????
	for(i=0;i<lenth[2];i++)
		{
		if(num[2][i]!='0')
			{
			sign3=1;        //??????????????
			break;
			}
		}
	if(sign3==0)        //???????????i??
		i=0;
	for(;i<lenth[2];i++)      //???????
		cout<<num[2][i];
	return 0;
}


/*
int main()
{
	char a[202],b[202];  //?????????????
	cin.getline(a,43);
	cin.getline(b,43);
	int ia[202],ib[202],result[404]={},lentha=strlen(a),lenthb=strlen(b);
	//ia?ib?????????????????????result???????????????
	int i,j;
	for(i=0;i<lentha;i++)   //???ia??ib
		ia[i]=a[lentha-1-i]-'0';
	for(i=0;i<lenthb;i++)
		ib[i]=b[lenthb-1-i]-'0';
	for(i=0;i<lentha;i++)   //??????????
		for(j=0;j<lenthb;j++)
			result[i+j]+=ia[i]*ib[j];
	for(i=0;i<404;i++)  //????
		if(result[i]>9)
			{
			result[i+1]+=result[i]/10;
			result[i]=result[i]%10;
			}
	bool startOutput=false;  //?????????????????????????????0?
	for(i=403;i>=0;i--)   //?????????0?????????
		if(startOutput)
			cout<<result[i];
		else if(result[i]!=0)
		{
			cout<<result[i];
			startOutput=true;
		}
	if(!startOutput)
		cout<<0;
	return 0;
}
*/
int main(){
  char s1[MAX],s2[MAX];
  cin>>s1>>s2;
  int l1=strlen(s1),l2=strlen(s2);
  int g=0;
  char ans[2*MAX];
  int iter;
  for(iter=0;g||iter<max(l1,l2);iter++){
    int p1=0,p2=0;
    if(iter<l1) p1=s1[l1-iter-1]-'0';
    if(iter<l2) p2=s2[l2-iter-1]-'0';
    int sum=p1+p2+g;
    ans[iter]=sum%10+'0';
    g=sum/10;
  }
  int ok=0;
  for(int i=0;i<iter;i++){
    if(!(ans[iter-i-1]=='0'&&ok==0&&iter!=1)){
      cout<<ans[iter-i-1];
      if(ok==0) ok=1;
    }      
  }
  return 0;
}
int main()
{
    int m=0,n=0,p,q,x,y,i;
    char a[250],b[250],c[250];
    scanf("%s",a);
    scanf("%s",b);
    for(p=0;;p++)
    {
    if(a[p]=='\0') break;
    m++;
    }
    for(q=0;;q++)
    {
    if(b[q]=='\0') break;
    n++;
    }
    
    if(m<n)
   {
    c[n]=a[m-1]+b[n-1]-'0';
    for(x=n-2;x>=n-m;x--)
    {
    if(c[x+2]>'9')
    c[x+1]=a[x+m-n]+b[x]-'0'+1;
    else
    c[x+1]=a[x+m-n]+b[x]-'0';
    
    }
    for(x=n-m-1;x>=0;x--)
    {
    if(c[x+2]>'9')
    c[x+1]=b[x]+1;
    else
    c[x+1]=b[x];
    }
    if(c[1]>'9')
    c[0]='1';
    else
    c[0]='0';
    for(x=1;x<=n;x++)
    {
     if(c[x]>'9')               
    c[x]=c[x]-10;
     }
    for(i=0;i<=n-1;i++)
    if(c[i]!='0') break;
    for(x=i;x<=n;x++)
    printf("%c",c[x]);
 
}  
 
if(m>n)
   {
    c[m]=a[m-1]+b[n-1]-'0';
    for(x=m-2;x>=m-n;x--)
    {
    if(c[x+2]>'9')
    c[x+1]=a[x]+b[x+n-m]-'0'+1;
    else
    c[x+1]=a[x]+b[x+n-m]-'0';
    
    }
    for(x=m-n-1;x>=0;x--)
    {
    if(c[x+2]>'9')
    c[x+1]=a[x]+1;
    else
    c[x+1]=a[x];
    }
    if(c[1]>'9')
    c[0]='1';
    else
    c[0]='0';
    for(x=1;x<=m;x++)
    {
     if(c[x]>'9')               
    c[x]=c[x]-10;
     }
    for(i=0;i<=m-1;i++)
    if(c[i]!='0') break;
    for(x=i;x<=m;x++)
    printf("%c",c[x]);
 
} 
  
    if(m==n)
    {
         c[m]=a[m-1]+b[m-1]-'0';
    for(x=m-2;x>=0;x--)
    {
    if(c[x+2]>'9')
    c[x+1]=a[x]+b[x]-'0'+1;
    else
    c[x+1]=a[x]+b[x]-'0';
    }
    if(c[1]>'9')
    c[0]='1';
    else
    c[0]='0';
    for(x=1;x<=m;x++)
    {
     if(c[x]>'9')               
    c[x]=c[x]-10;
     }
   for(i=0;i<=m-1;i++)
   
    if(c[i]!='0') break;
    
   
   
  
    for(x=i;x<=m;x++)
    printf("%c",c[x]);
}
}
int main()
{
	char a[251], b[251];
	int na[251], nb[251], s[251] = {0}, i, flag = 0;
	cin.getline(a, 251);
	cin.getline(b, 251);
	int la = strlen(a);
	int lb = strlen(b);
	int lm = (la>lb)?la:lb;
	for(i = 0; i < la; i ++)
	{
		na[i] = a[la - i - 1] - '0';
		s[i] += na[i];
	}
	for(i = 0; i < lb; i ++)
	{
		nb[i] = b[lb - i - 1] - '0';
		s[i] += nb[i];
	}
	for(i = 0;;i++)
	{
		if(i > lm)
			break;
		if(s[i]>9)
		{
			s[i] -= 10;
			s[i+1] += 1;
		}
	}
	for(i = lm; i >= 0; i --)
	{
		if(flag == 0)
		{
			if(s[i] == 0)
				continue;
			else
				flag = 1;
		}
		cout << s[i];
	}
	if(flag == 0)
		cout << "0";
	cout << endl;
	return 0;
}
int main()
{
    char a[N],b[N];
    char c[N];
    char t;
    int i,r,x,la,lb;
    for(i=0;i<N;i++)
    {
        a[i]='\0';
        b[i]='\0';
        c[i]='\0';
    }

    gets(a);
    gets(b);

    while(a[0]=='0'&&strlen(a)!=1)
    {
        for(i=0;a[i+1]!='\0';i++)
        {
            a[i]=a[i+1];
        }
        a[i]='\0';
    }
    while(b[0]=='0'&&strlen(b)!=1)
    {
        for(i=0;b[i+1]!='\0';i++)
        {
            b[i]=b[i+1];
        }
        b[i]='\0';
    }

    la=strlen(a);
    for(i=0;i<=la/2.0-1;i++)
    {
        t=a[i];
        a[i]=a[la-i-1];
        a[la-i-1]=t;
    }

    lb=strlen(b);
    for(i=0;i<=lb/2.0-1;i++)
    {
        t=b[i];
        b[i]=b[lb-i-1];
        b[lb-i-1]=t;
    }



    for(i=0;i<((la>=lb)?la:lb);i++)
    {
        if(a[i]=='\0')
            c[i]=c[i]+b[i]-'0';
        else if(b[i]=='\0')
            c[i]=c[i]+a[i]-'0';
        else
            c[i]=c[i]+a[i]-'0'+b[i]-'0';

        //printf("%d %d %d\n",a[i],b[i],c[i]);

        r=i;
        while(c[r]>=10)
        {
            x=c[r];
            c[r]=x%10;
            c[r+1]=(x-c[r])/10;
            r++;
        }
    }

    for(i=0;i<=r;i++)
    {
        c[i]=c[i]+'0';
    }

    for(i=r;i>=0;i--)
    {
        printf("%c",c[i]);
    }
    printf("\n");

    return 0;
}
char a[252],b[252],c[252];
int main()
{
	int la,lb,i,j,k=0;
	scanf("%s",a);
	scanf("%s",b);
	la=strlen(a);
	lb=strlen(b);
	j=la;
	for(i=251;j>=0;i--,j--)
		a[i]=a[j];
	for(;i>=0;i--)
		a[i]='0';
	j=lb;
	for(i=251;j>=0;i--,j--)
		b[i]=b[j];
	for(;i>=0;i--)
		b[i]='0';
	for(i=250;i>=0;i--)
	{
		c[i]=(a[i]-'0')+(b[i]-'0')+k+'0';
		if(c[i]>'9')
		{
			c[i]=c[i]-10;
			k=1;
		}
		else
			k=0;
	}
	for(i=0;c[i]=='0'&&i<250;i++);
	for(;i<251;i++)
		printf("%c",c[i]);
	printf("\n");
	return 0;
}