power = 10**12
def Solution(inp):
possiblevalues = [set() for i in inp ]
ind = 0
for i in inp :
base , value = i[0] , str(i[1])
if base > -1:
possiblevalues[ind].add(int(value , base))
ind+=1
continue
for b in range(2 , 37):
try:
newvalue = int(value , b)
possiblevalues[ind].add(newvalue)
except:
pass
ind+=1
base10 = [set() for i in inp]
ind = 0
for lis in possiblevalues:
for value in lis:
try:
v = int(str(value) , 10)
if v <=10**12 :
base10[ind].add(v)
except:
pass
ind+=1
result = set()
if len(inp) ==1 :
return min(list(base10[0]))
result = base10[0].intersection(base10[1])
for i in range(2 , len(inp)):
result = result.intersection(base10[i])
if len(result)==0:
return -1
return min(list(result))
if __name__=="__main__":
for _ in range(int(input())):
inp = []
for i in range(int(input())):
base , value = map(str , input().split())
inp.append((int(base) , value))
print(Solution(inp))