#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
void multiple(const char *value1,const char *value2);
int main() {
ios_base::sync_with_stdio(0);
char value1[10001], value2[10001];
int t;
cin >> t;
while(t--)
{
cin>>value1>>value2;
if(value1[0]==48 || value2[0]==48)
{
cout << "0" << endl;
}
else
{
reverse(value1,value1+strlen(value1));
reverse(value2,value2+strlen(value2));
multiple(value1, value2);
}
memset(value1,0,sizeof(char)*10001);
memset(value2,0,sizeof(char)*10001);
}
return 0;
}
void multiple(const char *value1,const char *value2)
{
char result[20002];
int zasieg1 = strlen(value1);
int zasieg2 = strlen(value2);
/*zmienne*/
int i,j;
int mnozenie_tablic, dziesiatki;
if(zasieg1>=zasieg2)
{
for(i=0; i<zasieg2; i++)
{
dziesiatki = 0;
for(j=0; j<zasieg1; j++)
{
if(i==0)
{
mnozenie_tablic=((int)value2[i]-48)*((int)value1[j]-48) + dziesiatki;
if(mnozenie_tablic>9)
{
dziesiatki=mnozenie_tablic/10;
}
else
{
dziesiatki=0;
}
result[i+j] = char((mnozenie_tablic%10) + 48);
if(zasieg1>1 && j==zasieg1-1)
{
result[i+j+1] = char(mnozenie_tablic/10 + 48);
}
}
else
{
mnozenie_tablic=((int)value2[i]-48)*((int)value1[j]-48) + int(result[j+i])-48 + dziesiatki;
if(mnozenie_tablic>9)
{
dziesiatki=mnozenie_tablic/10;
}
else
{
dziesiatki=0;
}
result[i+j] = char(mnozenie_tablic%10 + 48);
if(j==zasieg1-1)
{
if(i!=zasieg2-1)
result[i+j+1] = char(mnozenie_tablic/10 + 48);
if(i==zasieg2-1 && mnozenie_tablic>=10)
result[i+j+1] = char(mnozenie_tablic/10 + 48);
}
}
}
}
reverse(result,result+strlen(result));
cout << result << endl;
memset(result,0,sizeof(char)*20002);
}
else
{
for(i=0; i<zasieg1; i++)
{
dziesiatki = 0;
for(j=0; j<zasieg2; j++)
{
if(i==0)
{
mnozenie_tablic=((int)value1[i]-48)*((int)value2[j]-48) + dziesiatki;
if(mnozenie_tablic>9)
{
dziesiatki=mnozenie_tablic/10;
}
else
{
dziesiatki=0;
}
result[i+j] = char((mnozenie_tablic%10) + 48);
if(zasieg2>1 && j==zasieg2-1)
{
result[i+j+1] = char(mnozenie_tablic/10 + 48);
}
}
else
{
mnozenie_tablic=((int)value1[i]-48)*((int)value2[j]-48) + int(result[j+i])-48 + dziesiatki;
if(mnozenie_tablic>9)
{
dziesiatki=mnozenie_tablic/10;
}
else
{
dziesiatki=0;
}
result[i+j] = char(mnozenie_tablic%10 + 48);
if(j==zasieg2-1)
{
if(i!=zasieg1-1)
result[i+j+1] = char(mnozenie_tablic/10 + 48);
if(i==zasieg1-1 && mnozenie_tablic>=10)
result[i+j+1] = char(mnozenie_tablic/10 + 48);
}
}
}
}
reverse(result,result+strlen(result));
cout << result << endl;
memset(result,0,sizeof(char)*20002);
}
}