//大数相加
#include <iostream>
#include <string.h>
using namespacestd;
int flag=0;
int main()
{
int t,i,j,k;
cin>>t;
char s[1005],s1[1005],s2[1005],s3[1005];
while(t--)
{
flag++;
memset(s,'0',sizeof(s1));
memset(s1,'0',sizeof(s1));
memset(s2,'0',sizeof(s2));
memset(s3,'0',sizeof(s3));
cin>>s;
int l1=strlen(s);
for(i=0;i<l1;i++)
s1[i]=s[l1-i-1];
memset(s,'0',sizeof(s));
cin>>s;
int l2=strlen(s);
for(i=0;i<l2;i++)
s2[i]=s[l2-i-1];
if(flag!=1)
cout<<endl;
s3[0]=(s1[0]-'0'+s2[0]-'0')%10+'0';
s3[1]=(s1[0]-'0'+s2[0]-'0')/10;
//最后一位的计算必须单独计算
i=1;j=1;k=1;
while(i<l1||j<l2)
{
s3[k+1]=(s3[k]+s1[i]-'0'+s2[j]-'0')/10;
//必须先进行进位的计算
s3[k]=(s3[k]+s1[i]-'0'+s2[j]-'0')%10+'0';
//必须将s3[k]放在括号中
i++;j++;k++;
}
cout<<"Case "<<flag<<":"<<endl;
for(i=l1-1;i>=0;i--)
cout<<s1[i];
cout<<" + ";
for(i=l2-1;i>=0;i--)
cout<<s2[i];
cout<<" = ";
i=k;
s3[k]+='0';
// 余数算出来的是数字,必须+‘0’才能转换成字符并输出
if(k==1&&s3[0]=='0')
cout<<0<<endl<<endl;
else
{
while(s3[i]=='0')
i--;
for(;i>=0;i--)
{
cout<<s3[i];
}
cout<<endl;
}
}
return0;
}