class Solution:
def findSmallestRegion(self, regions: List[List[str]], region1: str, region2: str) -> str:
paths=defaultdict(str)
for r in regions:
for i in range(1,len(r)):
paths[r[i]]=r[0]
seen=set()
while region1!='':
seen.add(region1)
region1=paths[region1]
# print(seen)
# return
while region2!='':
if region2 in seen:return region2
region2=paths[region2]