#743. *L11迷宫寻路

*L11迷宫寻路

Description

有一个n*m的网格迷宫。行从上到下编号为1到n,列从左到右编号为1到m。每一列地步的若干个网格都放置着陷阱,其余都是无陷阱的网格。 网格迷宫中有一个遥控机器人,你可以发送向上、向下、向左、向右移动的指令,机器人受到指令之后会朝指令方向移动k个网络,如果移动过程中超出网格外或者移动了放置陷阱的网格,遥控机器人就会被破坏。 现有T次查询,每次查询给定5个整数x1,x2,y1,y2,k,第x1行第y1列是起点网格,第x2行第y2列是终点网格,k表示遥控机器人每次收到指令后移动的网格数量;请你判断能否发送若干次指令,使得遥控机器人从起点网格出发恰好到达终点网格,如果能到达输出“YES”,否则输出“NO”。

例如: n=10,m=5,每列底部有陷阱的网格数量依次为5,0,7,6,2,网格迷宫如下图: T=2,两次查询的数据如下: 1)x1=10,y1=2,x2=7,y2=5,k=3,可以从第10行第2列的起点网格发送3次向上移动的指令,走到第1行第2列网格,然后发送1次向右移动的指令,走到第1行第5列的网格,所以输出“YES”。 2) x1=9,y1=2,x2=3,y2=5,k=2,可以发现无论怎么发送指令都无法从第9行第2列的起点网格恰好达到第3行第5列的终点网格,所以输出“NO”。

Format

Input

第一行包含两个整数n和m,表示迷宫网格的行与列的数量,整数之间以一个空格隔开。 第二行包含m个整数,依次表示每一列的网格的底部陷阱网格的数量,整数之间以一个空格隔开; 第三行包含一个整数T,表示查询的次数; 接下来的T行,每行包含5个整数x1,x2,y1,y2,k,第x1行第y1列是起点网格,第x2行第y2列是终点网格,k表示遥控机器人每次收到指令后移动的网格数量;数据保证起点网格和重点网格不是陷阱网格,整数之间以一个空格隔开。

Output

共T行,每行一个字符串,表示每次查询的结果,如果能到达输出“YES”,否则输出“NO”。

Samples

10 5
5 0 7 6 2
2
10 2 7 5 3
9 2 3 5 2
YES
NO

Limitation

1s, 1024KiB for each test case.