#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
string clear(string s){
if(s.length()==0)
s = "0";
while(s.length()>0 && s[0]=='0'){
//重点1.使用该函数来删除不要的子串,千万不要使用以下错误做法
/*for(int i=0;i<s.length();i++){
s[i]=s[i+1];
} 该程序运行后,s.length()是不变的,但是所有值都变成'\0';*/
s.erase(0,1);
}
if(s.length()==0)
s = "0"; //s = '0';
return s;
}
string addition(string s1,string s2){
while(s1.length()<s2.length()){
s1 = '0' +s1;
}
while(s1.length()>s2.length()){
s2 = '0' +s2;
}
s1 = '0' + s1;
s2 = '0' + s2;
/* 重点2:以后使用i--的时候切记for第二个条件是符合条件,i<0是错误的!
for(int i = s1.length()-1;i<0;i--){
s1[i] = s1[i] + (s2[i]-'0');
if(s1[i]>'9'){
s1[i] = s1[i] - 10;
s1[i-1] = s1[i-1] + 1;
}
} */
for(int i = s1.length()-1;0<=i;i--){
s1[i] = s1[i] + (s2[i]-'0');
if(s1[i]>'9'){
s1[i] = s1[i] - 10;
s1[i-1] = s1[i-1] + 1;
}
}
s1 = clear(s1);
return s1;
}
string multiply(string s1,string s2){
string result;
result = "0";
//重点3:if语句如果遇到多语句,务必记得加上{}
if(clear(s1) =="0" || clear(s2) =="0")
return result ;
for(int i=s2.length()-1;0<=i;i--){
for(char c='1';c<=s2[i];c++){
result = addition(result,s1);
}
s1 = s1 + '0';
}
result = clear(result);
return result;
}
int main(){
//重点4:以后输入样例时不需要全部输入再输出!
/*int T;
string s1[100000];
string s2[100000];
cin >> T;
for(int i=0;i<T;i++){
cin >> s1[i];
cin >> s2[i];
}
for(int i=0;i<T;i++){
cout << multiply(s1[i],s2[i])<<endl;
}*/
int T;
string s1;
string s2;
string result;
cin >> T;
for(int i=0;i<T;i++){
cin >> s1;
cin >> s2;
result = multiply(s1,s2);
cout << result <<endl;
}
//system("pause");
return 0;
}