世間ã§ã¯Xã ã¨ã‹Yã ã¨ã‹ã§é¨’ãŒã—ã„ã‘ã‚Œã©ã€ã“ã‚Œã‹ã‚‰ã®æ™‚代ã¯"D"ã§ã‚る。"パクリンモンスターD"ã¯ã€ç§˜å¯†çµç¤¾"R団"ã«ã‚ˆã£ã¦é–‹ç™ºã•ã‚ŒãŸ"Dマシン"を使ã£ã¦"Dã®ã²ã¨"ãŒè²¡å®æŽ¢ç´¢ã‚’è¡Œã†å¤§äººæ°—ゲームã§ã‚る。
ã“ã®ã‚²ãƒ¼ãƒ ã§ã¯ã€æ ¼å状マップã®ã‚るマスã«ã„ã‚‹Dã®ã²ã¨ãŒã€éš£æŽ¥ã™ã‚‹ä¸Šä¸‹å·¦å³ã®ãƒžã‚¹ã¸ã®ç§»å‹•ã‚’ç¹°ã‚Šè¿”ã—ã€è²¡å®ãŒå˜åœ¨ã™ã‚‹ãƒžã‚¹ã¸ã®åˆ°é”を目指ã™ã€‚ マップ上ã«ã¯è²¡å®ãŒå˜åœ¨ã™ã‚‹ãƒžã‚¹ãŒ1ã¤ã ã‘ã‚る。 財å®ãŒå˜åœ¨ã™ã‚‹ãƒžã‚¹ã¯æ˜Žã‚‰ã‹ã«ã•ã‚Œã¦ã„ãªã„ãŸã‚ã€Dマシンを使ã£ã¦å˜åœ¨ã™ã‚‹è²¡å®ã®ãƒžã‚¹ã‚’絞り込んã§ã‹ã‚‰ã€è²¡å®ãŒå˜åœ¨ã™ã‚‹ãƒžã‚¹ã¸ç§»å‹•ã—ãŸã„。
Dマシンを使ã†ã¨ã€è²¡å®ãŒå˜åœ¨ã™ã‚‹ãƒžã‚¹ã‚’å«ã‚€è¤‡æ•°ãƒžã‚¹ã¸ã®å応を示ã™ã€‚åå¿œã¯ã€Dマシンを使ã£ãŸã¨ãã«Dã®ã²ã¨ãŒå±…ãŸãƒžã‚¹ã‚’基準ã«è¡¨ç¾ã•ã‚Œã‚‹ã€‚ãŸã ã—ã€Dマシンã¯å£Šã‚Œã¦ã„ã‚‹ã“ã¨ãŒã‚ã‚Šã€Dマシンを使ã£ãŸã¨ãã«ã€è²¡å®ãŒå˜åœ¨ã—å¾—ãªã„マスã¸ã®å応を示ã™ã“ã¨ãŒã‚る。ã¾ãŸã€Dã®ã²ã¨ãŒç§»å‹•ã§ããªã„å£ãƒžã‚¹ãŒãƒžãƒƒãƒ—上ã«å˜åœ¨ã™ã‚‹ãŸã‚ã€è²¡å®ã®å˜åœ¨ã™ã‚‹ãƒžã‚¹ã«ç§»å‹•ã§ããªã„ã“ã¨ã‚‚ã‚る。Dã®ã²ã¨ã¯ã„ã‚ã„ã‚ãªãƒžã‚¹ã§Dマシンを使ã„ã€ãã®å応を観測ã—ãŸã€‚Dã®ã²ã¨ã¯ã€è²¡å®ã®å˜åœ¨ã™ã‚‹ãƒžã‚¹ã«åˆ°é”ã§ãã‚‹ã ã‚ã†ã‹ã€‚
高㕠h å¹… w ã®äºŒæ¬¡å…ƒæ ¼åを考ãˆã‚‹ã€‚ã‚るマス t_{i,j} ã¯ã€æ¬¡ã®ã„ãšã‚Œã‹ã®æ–‡å—ã§è¡¨ã•ã‚Œã‚‹ã€‚
Dã®ã²ã¨ã¯ã€ä¸Šä¸‹å·¦å³ã«éš£æŽ¥ã™ã‚‹é€šè¡Œå¯èƒ½ãªãƒžã‚¹ã¸ç§»å‹•ã™ã‚‹ã“ã¨ãŒã§ãる。
Dマシンã¯ä½¿ç”¨ã—ãŸä½ç½®ã«å¿œã˜ã¦ã€å›³ã®ã‚ˆã†ãªäºŒæ¬¡å…ƒæ ¼å内ã®ã„ãšã‚Œã‹ã®ãƒžã‚¹é›†åˆã¸ã®å応を示ã™ã€‚下図ã®å„矩形ã¯ï¼Œãã‚Œãžã‚ŒãŒåŠå¾„ r_1, r_2, ..., r_d ã®æ£æ–¹å½¢ã§ã‚る。æ£æ–¹å½¢ã®åŠå¾„㌠r_k ã§ã‚ã‚‹ã¨ã¯ã€æ£æ–¹å½¢ã®ä¸€è¾ºã®é•·ã•ãŒ 2 r_k + 1 ã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ã€‚
(x, y)ã§Dマシンを使用ã—ãŸã¨ãã«ç¤ºã•ã‚ŒãŸå応を s ã¨ã™ã‚‹ã€‚1 \leq s \leq d-1ã®ã¨ãã¯ã€(x, y)ã‚’ä¸å¿ƒã¨ã™ã‚‹åŠå¾„ r_{s+1} ã®æ£æ–¹å½¢ã‹ã‚‰ã€ åŠå¾„ r_s ã®æ£æ–¹å½¢ã‚’除ã„ãŸå›³å½¢ã«å«ã¾ã‚Œã‚‹ãƒžã‚¹ã«è²¡å®ãŒå˜åœ¨ã™ã‚‹ã“ã¨ã‚’表ã™ã€‚s=0 ã®ã¨ãã¯ã€(x, y)ã‚’ä¸å¿ƒã¨ã™ã‚‹åŠå¾„ r_1 ã®æ£æ–¹å½¢ã«å«ã¾ã‚Œã‚‹ãƒžã‚¹ã«è²¡å®ãŒå˜åœ¨ã™ã‚‹ã“ã¨ã‚’表ã™ã€‚s=d ã®ã¨ãã¯ã€(x, y)ã‚’ä¸å¿ƒã¨ã™ã‚‹åŠå¾„ r_d ã®æ£æ–¹å½¢ã®å¤–å´ã®ãƒžã‚¹ã«è²¡å®ãŒå˜åœ¨ã™ã‚‹ã“ã¨ã‚’表ã™ã€‚財å®ãŒå˜åœ¨ã™ã‚‹ãƒžã‚¹ã¯å¿…ãš1ã¤ã ã‘å˜åœ¨ã™ã‚‹ã€‚ã—ã‹ã—ã€DマシンãŒå£Šã‚Œã¦ã„ã‚‹å ´åˆã€Dマシンã¯ã“ã‚Œã«çŸ›ç›¾ã—ãŸå応を示ã™ã€‚
Dマシンã®ä½¿ç”¨ã«ã‚ˆã£ã¦ç¤ºã•ã‚ŒãŸåå¿œãŒè¤‡æ•°ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ DマシンãŒç¢ºå®Ÿã«å£Šã‚Œã¦ã„ã‚‹å ´åˆã¯"Broken"ã€Dã®ã²ã¨ãŒã„ã‚‹ä½ç½®ã‹ã‚‰è²¡å®ã®å˜åœ¨ã™ã‚‹ãƒžã‚¹ã«å¿…ãšãŸã©ã‚Šç€ã‘ã‚‹å ´åˆã¯"Yes"ã€çµ¶å¯¾ã«ãŸã©ã‚Šç€ã‘ãªã„å ´åˆã¯"No"ã€ãŸã©ã‚Šç€ã‘ã‚‹ã‹ã©ã†ã‹åˆ†ã‹ã‚‰ãªã„å ´åˆã¯"Unknown"を出力ã›ã‚ˆã€‚
入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ãˆã‚‹ã€‚
h w d n t_{0,0}t_{0,1}...t_{0,w-1} ... t_{h-1,0}t_{h-1,1}...t_{h-1,w-1} r_1 r_2 ... r_d x_1 y_1 s_1 ... x_n y_n s_n
1行目ã¯4ã¤ã®æ•´æ•°ã‹ã‚‰ãªã‚Šï¼Œãã‚Œãžã‚Œï¼ŒäºŒæ¬¡å…ƒæ ¼åã®ç¸¦å¹…hã€æ¨ªå¹…w〠æ£æ–¹å½¢ã®å€‹æ•°dã€Dマシンを使用ã—ãŸå›žæ•°nãŒç©ºç™½1æ–‡å—区切りã§ä¸¦ã‚“ã§ã„る。 続ãhè¡Œã§ã¯å„マスã®æ–‡å—ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ i+2行目(0 \leq i < h)ã®j+1番目(0 \leq j < w)ã®æ–‡å—t_{i,j}ã¯ãƒžã‚¹(j,i)ã®æ–‡å—を表ã™ã€‚ h+2行目ã§ã¯ã€å„æ£æ–¹å½¢ã®åŠå¾„r_k(1 \leq k \leq d)ãŒç©ºç™½1æ–‡å—区切りã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ 続ãnè¡Œã§ã¯ã€Dマシンã®åå¿œãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ l+h+3行目(1 \leq l \leq n)ã§ã¯ã€x_lã€y_lã€s_lãŒç©ºç™½1æ–‡å—区切りã§ä¸Žãˆã‚‰ã‚Œã€ãƒžã‚¹(x_l, y_l)ã§Dマシンを使用ã—ãŸã¨ãã«åå¿œs_lãŒç¤ºã•ã‚ŒãŸã“ã¨ã‚’表ã™ã€‚
制約
"Broken", "Yes", "No", "Unknown"ã®ã„ãšã‚Œã‹ã®ã†ã¡ã€é©åˆ‡ãªã‚‚ã®ã‚’1è¡Œã«å‡ºåŠ›ã›ã‚ˆã€‚è¡Œã®æœ€å¾Œã§ã¯å¿…ãšæ”¹è¡Œã‚’è¡Œã†ã“ã¨ã€‚
6 10 3 4 ########## #........# #...D....# #........# #........# ########## 2 4 6 3 2 0 7 4 2 8 4 3 1 4 1
Yes
6 10 2 3 ########## #.#......# ###......# #......D.# #........# ########## 1 2 3 2 1 3 1 1 1 3 1
No
6 10 3 1 ########## #........# #...D....# #........# #........# ########## 2 4 6 3 4 3
Broken
6 10 3 3 ########## #.#......# ###.D....# #.#......# #........# ########## 2 4 6 3 2 0 7 4 2 8 4 3
Unknown