import math
def lcm(s, k):
res = ""
while k > 0:
res += s
k -= 1
return res
for _ in range(int(input())):
s = input()
t = input()
n, m = len(s), len(t)
g = math.gcd(n, m)
x = lcm(s, m // g)
y = lcm(t, n // g)
if x == y:
print(x)
else:
print(-1)
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long tt;
cin>>tt;
while(tt--)
{
long long m,n,i,j,k,l,p,q,r,lcm;
string s1,s2,s3="",s4="";
cin>>s1>>s2;
p=s1.size();
q=s2.size();
r=__gcd(p,q);
lcm=(p*q)/r;
for(i=0;i<lcm/p;i++)
{
s3=s3+s1;
}
for(i=0;i<lcm/q;i++)
{
s4=s4+s2;
}
if(s3==s4)
{
cout<<s3<<endl;
}
else
cout<<-1<<endl;
}
}
901A - Hashing Trees | 1283A - Minutes Before the New Year |
1654D - Potion Brewing Class | 1107B - Digital root |
25A - IQ test | 785A - Anton and Polyhedrons |
1542B - Plus and Multiply | 306A - Candies |
1651C - Fault-tolerant Network | 870A - Search for Pretty Integers |
1174A - Ehab Fails to Be Thanos | 1169A - Circle Metro |
780C - Andryusha and Colored Balloons | 1153A - Serval and Bus |
1487C - Minimum Ties | 1136A - Nastya Is Reading a Book |
1353B - Two Arrays And Swaps | 1490E - Accidental Victory |
1335A - Candies and Two Sisters | 96B - Lucky Numbers (easy) |
1151B - Dima and a Bad XOR | 1435B - A New Technique |
1633A - Div 7 | 268A - Games |
1062B - Math | 1294C - Product of Three Numbers |
749A - Bachgold Problem | 1486B - Eastern Exhibition |
1363A - Odd Selection | 131B - Opposites Attract |