20XXå¹´ã€é ã離れãŸå ´æ‰€ã«å¯¾ã™ã‚‹åŠ¹çŽ‡çš„ãªç‰©è³ªè»¢é€æ–¹å¼ãŒç¢ºç«‹ã•ã‚Œã€äººé¡žã®å®‡å®™ã¸ã®é€²å‡ºã¯ã¾ã™ã¾ã™åŠ 速ã•ã‚Œã‚‹ã“ã¨ã«ãªã£ãŸã€‚ã“ã®è»¢é€æ–¹å¼ã¯ã€ã‚ˆã‚Šé ãã«ç‰©è³ªã‚’転é€ã—よã†ã¨ã™ã‚‹ã¨ã€åŽŸå‰‡çš„ã«ã‚ˆã‚Šå¤§ããªç‰©è³ªã®è»¢é€ãŒå¯èƒ½ã«ãªã‚‹ç‚¹ã§é©æ–°çš„ã§ã‚ã£ãŸã€‚転é€æ–¹å¼ã®è©³ç´°ã‚’次ã«è¨˜ã™ã€‚
ã¾ãšè»¢é€å¯¾è±¡ã¨ãªã‚‹ç‰©è³ªã¯ã€ã‚¹ã‚¿ãƒ¼ãƒˆåº§æ¨™(1, 1)ã«ã¦å˜ä½è³ªé‡æ¯Žã®ãƒ‘ーティクルã«åˆ†å‰²ã•ã‚Œã‚‹ã€‚å„パーティクルã«ã¯ã€å„々異ãªã‚‹æ³¢å‹•ã‚¨ãƒãƒ«ã‚®ãƒ¼ãŒä¸Žãˆã‚‰ã‚Œãªã‘ã‚Œã°ãªã‚‰ãªã„。波動エãƒãƒ«ã‚®ãƒ¼ã¯ã€Vã¨Hã‹ã‚‰ãªã‚‹ä»»æ„ã®é•·ã•ã®æ–‡å—列ã§è¡¨ç¾ã•ã‚Œã€ãƒ‘ーティクルã®å®‡å®™ç©ºé–“ã«ãŠã‘る漂ã„方をè¦å®šã™ã‚‹ã€‚Vã¯åº§æ¨™ä¸Š(+1, 0)ã®ç§»å‹•ã‚’æ„味ã—ã€Hã¯(0, +1)ã®ç§»å‹•ã‚’æ„味ã™ã‚‹ã€‚例ãˆã°ã€VHHVã¨ã„ã†æ³¢å‹•ã‚¨ãƒãƒ«ã‚®ãƒ¼ãŒä¸Žãˆã‚‰ã‚ŒãŸãƒ‘ーティクルã¯ã€(2, 1), (2, 2), (2, 3) ã¨ã„ã†è»Œè·¡ã§å®‡å®™ã‚’漂ã£ãŸå¾Œã€åº§æ¨™(3, 3)ã«è¾¿ã‚Šç€ã。
ã¾ãŸã€å®‡å®™ç©ºé–“ã«ã¯è¤‡æ•°ã®ãƒ¯ãƒ¼ãƒ—ホールãŒå˜åœ¨ã—ã€ãƒ‘ーティクルã®è»Œè·¡ã«å½±éŸ¿ã‚’与ãˆã‚‹ã€‚ワープホールã«ã¯å…¥å£ã¨å‡ºå£ãŒã‚ã‚Šã€ãƒ‘ーティクルãŒãƒ¯ãƒ¼ãƒ—ホールã®å…¥å£ã«ç§»å‹•ã—ãŸå ´åˆã€å¿…ãšå‡ºå£ã®åº§æ¨™ã«ãƒ¯ãƒ¼ãƒ—ã™ã‚‹ã“ã¨ã«ãªã‚‹ã€‚i番目ã®ãƒ¯ãƒ¼ãƒ—ホールã®å…¥å£ã¨å‡ºå£ã®åº§æ¨™ã‚’(ai, bi), (ci, di)ã¨ã™ã‚‹ã¨ã€ai ≤ ci, bi ≤ di, (ai, bi) ≠ (ci, di)ã®æ¡ä»¶ãŒæº€ãŸã•ã‚Œã¦ãŠã‚Šã€ãƒ¯ãƒ¼ãƒ—ホールã®å…¥å£ã¯ã€ä»–ã®ãƒ¯ãƒ¼ãƒ—ホールã®å…¥å£ã¨åŒã˜åº§æ¨™ã‚„ã€(1, 1)ã«ã¯å˜åœ¨ã—ãªã„ã“ã¨ãŒä¿è¨¼ã•ã‚Œã¦ã„る。ãŸã ã—ã€è¤‡æ•°ã®å‡ºå£ãŒåŒã˜å ´æ‰€ã«ã‚ã£ãŸã‚Šã€ã‚るワープホールã®å‡ºå£ã«åˆ¥ã®ãƒ¯ãƒ¼ãƒ—ホールã®å…¥å£ãŒã‚ã‚‹å ´åˆã¯ã‚ã‚‹(ã“ã®å ´åˆã¯é€£ç¶šã§ãƒ¯ãƒ¼ãƒ—ã™ã‚‹)。
例ãˆã°ã€(1, 2)ã‚’å…¥å£ã¨ã—ã€(3, 2)を出å£ã¨ã™ã‚‹ãƒ¯ãƒ¼ãƒ—ホールãŒå˜åœ¨ã—ãŸå ´åˆã€HHã¨æ³¢å‹•ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚’与ãˆã‚‰ã‚ŒãŸãƒ‘ーティクルã¯ã€(1, 2)ã¸ç§»å‹•å¾Œã€(3, 2)ã¸ãƒ¯ãƒ¼ãƒ—ã—〠(3, 3)ã¸ã¨è¾¿ã‚Šç€ã。
パーティクルã¯æ³¢å‹•ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚’与ãˆã‚‰ã‚Œã‚‹ã¨ä¸€çž¬ã§ãã‚Œã«å¾“ã£ã¦ç§»å‹•ã™ã‚‹ã€‚å…¨ã¦ã®ãƒ‘ーティクルãŒåŒæ™‚ã«ç›®çš„地点ã¸è¾¿ã‚Šç€ãã¨ã€è‡ªå‹•çš„ã«å…ƒã®ç‰©è³ªã¸ã¨å†æ§‹æˆã•ã‚Œã‚‹ã€‚
ã‚ãªãŸã¯å®‡å®™é–‹ç™ºæ©Ÿæ§‹ã®ãƒ—ãƒã‚°ãƒ©ãƒžã§ã‚る。転é€ã®ç›®çš„座標 (N, M) 㨠K 個ã®ãƒ¯ãƒ¼ãƒ—ホールã®åº§æ¨™å¯¾ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã®ã§ã€ä¸€åº¦ã«è»¢é€å¯èƒ½ãªç‰©è³ªã®æœ€å¤§è³ªé‡ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を書ã„ã¦ã»ã—ã„。ç”ãˆã¯éžå¸¸ã«å¤§ãã„æ•°ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€1,000,000,007ã§å‰²ã£ãŸä½™ã‚Šã‚’出力ã›ã‚ˆã€‚
N M K a1 b1 c1 d1 ... aK bK cK dK
1 ≤ N,M ≤ 105, 0 ≤ K ≤ 103 を満ãŸã™ã€‚ã¾ãŸã€ ä»»æ„ã® 1 ≤ i ≤ K ã«å¯¾ã—㦠ai ≤ ci, bi ≤ di, (ai, bi) ≠ (ci, di) を満ãŸã™ã€‚
最大質é‡ã‚’ 1,000,000,007 ã§å‰²ã£ãŸã‚ã¾ã‚Šã‚’1è¡Œã§å‡ºåŠ›ã›ã‚ˆã€‚
上記入力形å¼ã§è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚å„データセットã«å¯¾ã—ã¦ä¸Šè¨˜å‡ºåŠ›å½¢å¼ã§å‡ºåŠ›ã‚’è¡Œã†ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ä¸‹ã•ã„。
N, M, K ãŒã™ã¹ã¦ 0 ã®ã¨ã入力ã®çµ‚ã‚りを示ã—ã¾ã™ã€‚
4 4 1 2 2 3 3 1 4 1 1 2 1 3 5 5 2 2 2 3 4 3 3 5 3 5 5 3 4 4 5 5 2 2 3 3 3 3 4 4 100000 100000 1 2 2 99999 99999 1 1 0 0 0 0
12 1 26 18 615667476 1