ããŸã¾ã•å›ã¯å¤§å¦ã§ã•ã¾ã–ã¾ãªå¤‰æ›ã«ã¤ã„ã¦ç ”究ã—ã¦ã„る。最近ã€ããŸã¾ã•å›ãŒèˆˆå‘³ã‚’æŒã£ã¦ã„る変æ›ã¯æ¬¡ã®ã‚ˆã†ãªã‚‚ã®ã§ã‚る。 N+1個ã®æ•´æ•° a0, ..., aN を固定ã—ã€æ•´æ•° z を入力ã¨ã™ã‚‹ã€‚ã¾ãŸ P ã‚’ç´ æ•°ã¨ã™ã‚‹ã€‚
t = ( aNzN + aN-1zN-1 + ... + a2z2 + a1z + a0 ) mod P
ããŸã¾ã•å›ã¯ã“ã®å¤‰æ›ã«ã‚ˆã£ã¦ t = 0 ã«ãªã£ã¦ã—ã¾ã† z ãŒã„ãã¤ã‚‚ã‚ã‚‹ã“ã¨ã«æ°—ãŒã¤ã„ãŸã€‚ ãã“ã§ã€ããŸã¾ã•å›ã¯å‹äººã§ã‚りスーパープãƒã‚°ãƒ©ãƒžãƒ¼ã§ã‚‚ã‚ã‚‹ã‚ãªãŸã«ã€å¤‰æ›å¾Œã« t = 0 ã«ãªã‚‹ z ㌠0〜P-1 ã«ã„ãã¤ã‚ã‚‹ã‹ã‚’計算ã—ã¦ã‚‚らã†ã“ã¨ã«ã—ãŸã€‚
入力ã¯æ¬¡ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
N P a0 a1 ... aN
入力ã®1行目ã«ã¯æ•´æ•°Nã¨ç´ æ•°PãŒã‚¹ãƒšãƒ¼ã‚¹æ–‡å—ã§åŒºåˆ‡ã‚‰ã‚Œã¦ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ã“れらã¯ã€å•é¡Œæ–‡ã§ä¸Žãˆã‚‰ã‚ŒãŸã¨ãŠã‚Šã§ã‚る。 0 ≤ N ≤ 100, 2 ≤ P ≤ 109 を満ãŸã™ã€‚
次ã®1è¡Œã«ã¯ a0〜aN ãŒã‚¹ãƒšãƒ¼ã‚¹æ–‡å—ã§åŒºåˆ‡ã‚‰ã‚Œã¦ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ã“れら㯠|ai| ≤ 109 を満ãŸã™æ•´æ•°ã§ã‚る。ã¾ãŸ aN ≠ 0 ã§ã‚る。
変æ›å¾Œã«0ã«ãªã‚‹ã‚ˆã†ãª z (0 ≤ z < P) ã®å€‹æ•°ã‚’出力ã›ã‚ˆã€‚
上記入力形å¼ã§è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚å„データセットã«å¯¾ã—ã¦ä¸Šè¨˜å‡ºåŠ›å½¢å¼ã§å‡ºåŠ›ã‚’è¡Œã†ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ä¸‹ã•ã„。
N, P ãŒã¨ã‚‚ã« 0 ã®ã¨ã入力ã®çµ‚ã‚りを示ã—ã¾ã™ã€‚
2 3 1 2 1 2 3 1 2 6 0 0
1 1