ã»ã‚€ã¡ã‚ƒã‚“ã¯ã€ãーるã˜ã‡ã‚€ã‚’赤色や黒色ã«å¤‰åŒ–ã•ã›ãŸã‚Šã€ ç•°ãªã‚‹ 2 ã¤ã®ãーるã˜ã‡ã‚€é–“ã‚’é”法ã®ç³¸ã§æŽ¥ç¶šã—ãŸã‚Šã™ã‚‹ä¸æ€è°ãªåŠ›ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ ã“ã®åŠ›ã‚’使ã†ã“ã¨ã§ã€ã»ã‚€ã¡ã‚ƒã‚“ã¯ã€ãーるã˜ã‡ã‚€ã«ã‚ˆã‚‹é”方陣を作るã“ã¨ãŒã§ãã¾ã™ã€‚
ã»ã‚€ã¡ã‚ƒã‚“ã¯ã€ 1 ã‹ã‚‰ N ã§ç•ªå·ä»˜ã‘られ㟠N 個ã®ãーるã˜ã‡ã‚€ãŒã‚ã‚‹ã¨ãã€ä»¥ä¸‹ã®æ¡ä»¶ãŒæˆã‚Šç«‹ã¤ç•°ãªã‚‹é”方陣ãŒã„ãã¤ã‚ã‚‹ã®ã‹æ°—ã«ãªã‚Šã¾ã—ãŸã€‚
ã“ã®ã¨ãã€é”方陣ã¯ãーるã˜ã‡ã‚€ã‚’é ‚ç‚¹ã¨ã—ã€é”法ã®ç³¸ã‚’辺ã¨ã™ã‚‹ã‚°ãƒ©ãƒ•ã¨ã¿ãªã™ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã“ã§ã€ãã®ã‚°ãƒ©ãƒ•ã¯ 連çµã§ãªãã¦ã‚‚よㄠã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
ã»ã‚€ã¡ã‚ƒã‚“ã¯è¨ˆç®—ãŒè‹¦æ‰‹ãªã®ã§ã€ä»£ã‚ã‚Šã«ã‚ãªãŸãŒé«˜é€Ÿãªãƒ—ãƒã‚°ãƒ©ãƒ を作ã£ã¦ç•°ãªã‚‹é”方陣ã®æ•°ã‚’計算ã—ã¦ã‚ã’ã¾ã—ょã†ã€‚ ã—ã‹ã—ã€ãã®æ•°ã¯éžå¸¸ã«å¤šã„ã“ã¨ãŒäºˆæƒ³ã•ã‚Œã‚‹ã®ã§ã€ã‚ã‚‹ç´ æ•° M ã§å‰²ã£ãŸä½™ã‚Šã‚’求ã‚ã‚‹ã“ã¨ã«ã—ã¾ã™ã€‚
ãªãŠã€ã‚ã‚‹é”方陣 G 㨠H ãŒç•°ãªã‚‹ã¨ã¯ã€ã‚ã‚‹ãーるã˜ã‡ã‚€ v ã«ã¤ã„㦠G 㨠H ã§ãã®è‰²ãŒç•°ãªã‚‹ã€ã‚‚ã—ãã¯ã‚ã‚‹ãーるã˜ã‡ã‚€ã®çµ„ u, v ㌠G 㨠H ã®ä¸€æ–¹ã§ã®ã¿æŽ¥ç¶šã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’指ã—ã¾ã™ã€‚
N M
æ¡ä»¶ã‚’満ãŸã™ã‚°ãƒ©ãƒ•ã®å€‹æ•°ã‚’ M ã§å‰²ã£ãŸä½™ã‚Šã‚’整数㧠1 è¡Œã«å‡ºåŠ›ã—ã¦ãã ã•ã„。
3 310779401
12
例ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ãªé”方陣ã¯æ¡ä»¶ã‚’満ãŸã—ã¾ã™ã€‚
7 566666561
98638848
例ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ãªé”方陣ã¯æ¡ä»¶ã‚’満ãŸã—ã¾ã™ã€‚
1010 1000000007
862232855
M ã§å‰²ã£ãŸä½™ã‚Šã‚’出力ã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。