# 输入n,代表数据的天数
n = int(input())
# 设置place来存储每天的风险地区
place = {}
# 设置people来存储用户的漫游数据
people = {}
# 开始遍历每一天
for i in range(n):
# people[i]来存储每一天的漫游信息
people[i] = []
# 输入当日收到的风险地区信息的数量、当日收到的漫游数据的条目数量,以及当日收到的风险地区的列表
data = [i for i in map(int,input().split())]
# 表示当日收到的风险地区信息的数量
r = data[0]
# 表示当日收到的漫游数据的条目数量
m = data[1]
if r!=0:# 存储当日收到的风险地区的列表
for d in data[2:]:#区域号
for q in range(i,i+7):# 遍历将从今日起的风险地区标记七日风险
if q not in place:
place[q] = set()#集合
place[q].add(d)#第q天的风险地区有d号地区
if m!=0:# 接收漫游信息,并存储到people[i]中去
for j in range(m):
ud,u,ur = map(int,input().split())#日期、用户和地区
if ud<0:
continue
people[i].append([ud,u,ur])
t = max(0,i-6)# 设置t,确保日期循环最早从第0天开始
out = []# 存储输出日期及用户
for h in range(t,i+1):# 提取此前七天每天用户的漫游信息
hu = people[h]# 用hu存储当前天的用户漫游信息
for k in range(len(hu)):# 开始遍历hu中的漫游信息
kd = hu[k][0]#日期
ku = hu[k][1]#用户
kr = hu[k][2]#地区
if kd<(i-6) or kd>i:#不是风险地区
continue
temp = 1# 设置一个标签值
for l in range(kd,i+1):# 判断是否持续处于风险区
if l not in place:
temp = 0
break
if kr not in place[l]:
temp = 0
break
if temp:
out.append(ku)#风险用户
out = list(set(out))#排除重复的
out.sort()# 将用户进行去重并从小到大排序
# 插入日期
out.insert(0,i)#在第0个位置插入日期i
print(*out)