import sys
flag = 0
# 读取所有输入行并转换为迭代器,方便逐行读取(避免一次性加载所有行,节省内存)
# sys.stdin.read() 读取所有输入内容,splitlines() 按换行符分割成行列表,iter() 转为迭代器
data = iter(sys.stdin.read().splitlines())
# 读取第一行输入,转换为整数n,表示地毯的数量
n = int(next(data))
# 读取接下来的n行,每行对应一块地毯的参数,转换为整数列表
# 每块地毯的参数格式:a b g k,其中(a,b)是地毯左上角坐标,g是宽度,k是高度
carpets = [list(map(int, next(data).split())) for _ in range(n)]
# 读取最后一行输入,转换为整数x和y,表示需要查询的目标坐标
x, y = map(int, next(data).split())
# 倒序遍历地毯列表(从最后一块地毯开始,即编号最大的)
# 目的:找到最后铺设且覆盖目标坐标的地毯(题目要求输出最后一块)
for i in range(n-1, -1, -1):
# 取出当前地毯的参数:a(左上角x)、b(左上角y)、g(宽度)、k(高度)
a, b, g, k = carpets[i]
# 判断目标坐标(x,y)是否在当前地毯的覆盖范围内:
# x范围:[a, a+g](左上角x到左上角x+宽度)
# y范围:[b, b+k](左上角y到左上角y+高度)
if a <= x <= a + g and b <= y <= b + k:
# 找到则输出地毯编号(列表索引从0开始,编号从1开始,因此+1)
print(i + 1)
# 找到后直接返回,终止程序(无需继续遍历)
flag=0
break
# 如果遍历完所有地毯都未找到覆盖的,输出-1
if flag:
print(-1)