// hdu 1002 http://acm.hdu.edu.cn/showproblem.php?pid=1002
/*10进制 15ms
#include <bits/stdc++.h>
using namespace std;
const int AX = 1e3 + 666 ;
char s1[AX];
char s2[AX];
int a[AX];
int b[AX];
int main() {
int T , Case = 0 ;
scanf("%d",&T);
while( T-- ) {
printf("Case %d:\n",++Case);
scanf("%s%s",s1,s2) ;
printf("%s + %s = ",s1,s2);
int len1 = strlen(s1);
int len2 = strlen(s2);
memset( a , 0 , sizeof(a) ) ;
memset( b , 0 , sizeof(b) ) ;
for( int i = 0 ; i < len1 ; i++ ){
a[i] = s1[len1-i-1] - '0' ;
}
for( int i = 0 ; i < len2 ; i++ ){
b[i] = s2[len2-i-1] - '0' ;
}
int k = max( len1 , len2 );
int c = 0 ;
for( int i = 0 ; i < k ; i++ ){
a[i] = a[i] + b[i] + c ;
c = a[i] / 10 ;
a[i] %= 10 ;
}
if( c ) a[k] += c ;
for( int i = k ; i >= 0; i-- ){
if( i == k && !a[i] ) continue ;
printf("%d",a[i]);
}printf("\n");
if(T) printf("\n") ;
}
return 0 ;
}*/
//10000进制,0ms
#include <bits/stdc++.h>
using namespace std;
const int AX = 1e3 + 666 ;
char s1[AX];
char s2[AX];
int a[AX];
int b[AX];
int f( int* x , char* s , int len ){
string tmp = "" ;
int tot = 0 ;
for( int i = len - 1 ; i >= 0 ; i -= 4 ){
for( int j = max( 0 , i - 3 ) ; j <= i ; j++ ){
tmp += s[j] ;
}
x[tot++] = atoi(tmp.c_str());
tmp = "" ;
}
return tot ;
}
int main() {
int T , Case = 0 ;
scanf("%d",&T);
while( T-- ) {
printf("Case %d:\n",++Case);
scanf("%s%s",s1,s2) ;
printf("%s + %s = ",s1,s2);
int len1 = strlen(s1);
int len2 = strlen(s2);
memset( a , 0 , sizeof(a) ) ;
memset( b , 0 , sizeof(b) ) ;
len1 = f( a , s1 , len1 );
len2 = f( b , s2 , len2 );
int k = max( len1 , len2 );
int c = 0 ;
for( int i = 0 ; i < k ; i++ ){
a[i] = a[i] + b[i] + c ;
c = a[i] / 10000 ;
a[i] %= 10000 ;
}
if( c ) a[k] += c ;
int f = 0 ;
for( int i = k ; i >= 0; i-- ){
if( i == k && !a[i] ) continue ;
if( f ) printf("%04d",a[i]);
else{ printf("%d",a[i]); f = 1 ; }
}printf("\n");
if(T) printf("\n") ;
}
return 0 ;
}