#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <string.h>
using namespace std;
char* stringMerge(char* str1,char *str2)
{
int dlstr1 = 0, dlstr2 = 0, dlnowy = 0;
dlstr1 = strlen(str1);
dlstr2 = strlen(str2);
if (dlstr1 <= dlstr2)
dlnowy = dlstr1;
else dlnowy = dlstr2;
char *nowyString ;
dlnowy = 2*dlnowy;
nowyString = new char [dlnowy+1];
//cout << "dlugosc: "<<dlnowy<< endl;
int i=0,j=0;
do
{
nowyString[i] = str1[j];
i++;
j++;
nowyString[i] = str2[j-1];
i++;
}while(i<dlnowy);
//nowyString[dlnowy] = '/0';
// cout << "ostatni "<<nowyString[dlnowy] << endl;
return nowyString;
}
string napis1, napis2;
int main()
{
char *nowySTR;
int ilosc_testow;
string *tabwynikow;
// cout << "podaj ilosc testow : "<< endl;
cin>>ilosc_testow;
tabwynikow = new string[ilosc_testow];
for(int i=0; i<ilosc_testow;i++)
{
//cout << "podaj stringi "<< endl;
cin>>napis1>>napis2;
nowySTR = stringMerge(&napis1[0], &napis2[0]);
tabwynikow[i] = nowySTR;
// delete [] nowySTR;
}
for(int i=0;i<ilosc_testow;i++)
{
cout<<tabwynikow[i]<<endl;
}
delete [] tabwynikow;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2hhciogc3RyaW5nTWVyZ2UoY2hhciogc3RyMSxjaGFyICpzdHIyKQp7CiAgIGludCBkbHN0cjEgPSAwLCBkbHN0cjIgPSAwLCBkbG5vd3kgPSAwOwoKICAgZGxzdHIxID0gc3RybGVuKHN0cjEpOwogICBkbHN0cjIgPSBzdHJsZW4oc3RyMik7CgogICBpZiAoZGxzdHIxIDw9IGRsc3RyMikKICAgICAgICBkbG5vd3kgPSBkbHN0cjE7CiAgIGVsc2UgZGxub3d5ID0gZGxzdHIyOwoKICAgIGNoYXIgKm5vd3lTdHJpbmcgOwoKICAgIGRsbm93eSA9IDIqZGxub3d5OwogICAgbm93eVN0cmluZyA9IG5ldyBjaGFyIFtkbG5vd3krMV07CgogICAgLy9jb3V0IDw8ICJkbHVnb3NjOiAiPDxkbG5vd3k8PCBlbmRsOwoKICAgIGludCBpPTAsaj0wOwoKICAgIGRvCiAgICB7CiAgICAgICAgbm93eVN0cmluZ1tpXSA9IHN0cjFbal07CiAgICAgICAgaSsrOwogICAgICAgIGorKzsKICAgICAgICBub3d5U3RyaW5nW2ldID0gc3RyMltqLTFdOwogICAgICAgIGkrKzsKICAgIH13aGlsZShpPGRsbm93eSk7CgogICAgLy9ub3d5U3RyaW5nW2Rsbm93eV0gPSAnLzAnOwoKICAgLy8gY291dCA8PCAib3N0YXRuaSAiPDxub3d5U3RyaW5nW2Rsbm93eV0gPDwgZW5kbDsKCiAgICByZXR1cm4gbm93eVN0cmluZzsKfQoKCnN0cmluZyBuYXBpczEsIG5hcGlzMjsKCmludCBtYWluKCkKewogICAgY2hhciAqbm93eVNUUjsKICAgIGludCBpbG9zY190ZXN0b3c7CiAgICBzdHJpbmcgKnRhYnd5bmlrb3c7CgogICAvLyBjb3V0IDw8ICJwb2RhaiBpbG9zYyB0ZXN0b3cgOiAiPDwgZW5kbDsKICAgIGNpbj4+aWxvc2NfdGVzdG93OwoKICAgIHRhYnd5bmlrb3cgPSBuZXcgc3RyaW5nW2lsb3NjX3Rlc3Rvd107CgogICAgZm9yKGludCBpPTA7IGk8aWxvc2NfdGVzdG93O2krKykKICAgIHsKICAgICAgIC8vY291dCA8PCAicG9kYWogc3RyaW5naSAiPDwgZW5kbDsKICAgICAgIGNpbj4+bmFwaXMxPj5uYXBpczI7CiAgICAgICBub3d5U1RSID0gc3RyaW5nTWVyZ2UoJm5hcGlzMVswXSwgJm5hcGlzMlswXSk7CgogICAgICAgdGFid3luaWtvd1tpXSA9IG5vd3lTVFI7CiAgICAgIC8vIGRlbGV0ZSBbXSBub3d5U1RSOwogICAgfQoKICAgIGZvcihpbnQgaT0wO2k8aWxvc2NfdGVzdG93O2krKykKICAgIHsKICAgICAgICBjb3V0PDx0YWJ3eW5pa293W2ldPDxlbmRsOwogICAgfQoKCiAgICBkZWxldGUgW10gdGFid3luaWtvdzsKICAgIHJldHVybiAwOwp9Cg==