'''
写一个类,用户地区日期、接收日期
维护危险地区字典:地区:[开始时间,结束时间(不包含)]
分别在接收时判断字典有无该地区
接收漫游信息:满足:
日期在7日内
那一日当时处于风险地区
那一日当时到现在均处于风险地区
则将加入字典,时间:[人名]
ans为字典,日期:[人名]
输出ans
'''
class MSSG:
def __init__(self,arrvDate,user,site,date):
self.user=user
self.site=site
self.arrvDate=arrvDate
self.date=date
siteDic={}
ans={}
data={}
n=int(input())
for i in range(n+10):
ans[i]=set()
data[i]=[]
for day in range(n):
tmp=list(map(int,input().split()))
r,m=tmp[0],tmp[1]
if r!=0:
nwSite=tmp[2:]
for nst in nwSite:
if nst in siteDic:
if siteDic[nst][1]<day: #在且过期,更新开始与结束时间
siteDic[nst][1]=day+7
siteDic[nst][0]=day
else :
siteDic[nst][1]=day+7
else:
siteDic[nst]=[day,day+7]
if m!=0:
for _ in range(m):
tmp=list(map(int,input().split()))
mssg=MSSG(tmp[0],tmp[1],tmp[2],day)
if mssg.arrvDate<0:
continue
if mssg.site in siteDic:
tm=siteDic[mssg.site]
if tm[0]<=mssg.arrvDate<tm[1]:
data[day].append(mssg)
for day2 in range(max(0,day-6),day+1):
for tmp in data[day2]: #tmp为每一条信息
if day-tmp.arrvDate<7 and tmp.arrvDate>=siteDic[tmp.site][0] and day<siteDic[tmp.site][1]:
ans[day].add(tmp.user)
for i in range(n):
if len(ans[i])==0:
print(i)
else :
ansList=list(ans[i])
ansList.sort()
print(i,*ansList)