#include <iostream>
#include <string>
using namespace std;
string Reverse(string& str) //string反转
{
string tstr;
tstr = str; //这块的初始化问题
int len = str.length();
for(string::size_type i = 0; i < str.size(); i++)
{
tstr[i] = str[len - i - 1];
}
return tstr;
}
string Maxsum(string str1,string str2)
{
//反转过后
str1 = Reverse(str1);
str2 = Reverse(str2);
string tstr;
//让str1中存放着两者长度较大的
if(str1.length() < str2.length())
{
tstr = str1;
str1 = str2;
str2 = tstr;
}
int len = str1.length() - str2.length();
//str2后面加上len个0
for(int i = 0; i < len; i++)
{
str2 = str2 + '0';
}
//把str2加到str1上,然后返回str1
int x;
int t = 0;
for(i = 0; i < str1.length(); i++)
{
x = (str1[i] - '0') + (str2[i] - '0') + t;
str1[i] = x % 10 + '0';
t = x / 10;
}
char c;
//如果t!=0则最后以为加上上t
if(t != 0)
{
c = t + '0';
str1 = Reverse(str1 + c);
}
else
{
str1 = Reverse(str1);
}
return str1;
}
int main()
{
string str1,str2,temp;
int T,i = 1;
cin>>T;
while(i <= T)
{
cin>>str1>>str2;
temp = Maxsum(str1,str2);
cout<<"Case "<<i<<":"<<endl;
//别忘了控制输出格式,就是最后一个案例要少输出一个endl
if(i != T)
cout<<str1<<" + "<<str2<<" = "<<temp<<endl<<endl;
else
cout<<str1<<" + "<<str2<<" = "<<temp<<endl;
i++;
}
return 0;
}