ã‚ãªãŸã¯ã‚¤ãƒ…ア国ã®å…¬ç”¨èªžã§ã‚るイヅア語ã®å›½èªžè¾žå…¸ã¨ã€ã‚¤ãƒ…ア語ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆï¼ˆæ–‡å—ã®ä¸€è¦§è¡¨ï¼‰ を手ã«å…¥ã‚Œã¾ã—ãŸã€‚イヅア語ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã«ã¯N 種類ã®æ–‡å—ãŒã‚ã‚Šã¾ã™ã€‚イヅア語ã®å›½èªžè¾žå…¸ã«ç¾ã‚Œã‚‹å˜èªžã®é †ç•ªã¯ã€ã‚¤ãƒ…ア語ã®ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆé †ã«ä¸¦ã‚“ã§ã„ã¾ã™ã€‚
辞典を見るã¨ã€è¼‰ã£ã¦ã„ã‚‹ã©ã®å˜èªžã‚‚N æ–‡å—ã§ã€ã—ã‹ã‚‚ã€N 種類ã®æ–‡å—ã‚’ã²ã¨ã¤ãšã¤å«ã‚“ã§ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã—ãŸã€‚ã•ã‚‰ã«èª¿ã¹ã¦ã¿ã‚‹ã¨ã€è¾žå…¸ã«ã¯N 種類ã®æ–‡å—ã®å¯èƒ½ãªä¸¦ã³æ–¹ãŒã™ã¹ã¦æ›¸ã‹ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’発見ã—ã¾ã—ãŸã€‚
ã“ã®ç™ºè¦‹ã‹ã‚‰ã€ã‚ãªãŸã¯ã‚ã‚‹å˜èªžãŒè¾žå…¸ã®ä½•ç•ªç›®ã«å‡ºã¦ãã‚‹ã‹ã‚ã‹ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ã“ã®çŸ¥è˜ã‚’利用ã—ã¦ã‚¤ãƒ…ア国ã®äººã‚’é©šã‹ã›ã¦ã¿ã¾ã—ょã†ã€‚ã¾ãšã€N 種類ã®æ–‡å—ã‚’ã²ã¨ã¤ãšã¤ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆé †ã«ä¸¦ã¹ã¾ã™ã€‚次ã«ã€ä»»æ„ã®ï¼’æ–‡å—ã®é †ç•ªã‚’入れ替ãˆã‚‹æ“作を R 回繰り返ã—ã¦ã‚‚らã„ã¾ã™ã€‚ã‚ãªãŸã¯ã€å‡ºæ¥ä¸ŠãŒã£ãŸå˜èªžãŒã‚¤ãƒ…ア国語辞典ã®ä½•ç•ªç›®ã«å‡ºã¦ãã‚‹ã‹å½“ã¦ã¦è¦‹ã›ã¾ã™ã€‚ãã®ãŸã‚ã®æº–å‚™ã¨ã—ã¦ã€å›½èªžè¾žå…¸ä¸ã®å˜èªžã®å ´æ‰€ã‚’求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã—ã¦ãã ã•ã„。ãŸã ã—ã€ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆé †ã§æœ€åˆã®å˜èªžã‚’ 0 番目ã®å˜èªžã¨ã—ã¾ã™ã€‚
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰ãªã‚‹ã€‚入力ã®çµ‚ã‚ã‚Šã¯ã‚¼ãƒï¼‘ã¤ã®è¡Œã§ç¤ºã•ã‚Œã‚‹ã€‚å„データセットã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
N R s1 t1 s2 t2 : sR tR
1行目ã«ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã‚’構æˆã™ã‚‹æ–‡å—ã®æ•° N (1 ≤ N ≤ 100000) ãŒä¸Žãˆã‚‰ã‚Œã€ï¼’行目ã«æ–‡å—を入れ替ãˆã¦ã‚‚らã†å›žæ•° R (0 ≤ R ≤ 50) ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚続ã R è¡Œã«ã€å…¥ã‚Œæ›¿ãˆã‚‰ã‚Œã‚‹æ–‡å—ã®ä½ç½®ã®çµ„ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚si 㨠ti (1 ≤ si < ti ≤ N) ã¯ã€å…ˆé ã‹ã‚‰æ•°ãˆã¦ si 番目㨠ti 番目ã®æ–‡å—ã‚’ i 回目ã«å…¥ã‚Œæ›¿ãˆã‚‹ã“ã¨ã‚’表ã™ã€‚si 㨠ti ã¯ï¼‘ã¤ã®ç©ºç™½ã§åŒºåˆ‡ã‚‰ã‚Œã¦ã„る。
データセットã®æ•°ã¯100 を超ãˆãªã„。
データセットã”ã¨ã«ã€å…¥ã‚Œæ›¿ãˆãŒçµ‚ã‚ã£ãŸæ™‚点ã§å¾—られãŸå˜èªžãŒå›½èªžè¾žå…¸ã®ä½•ç•ªç›®ã«ç¾ã‚Œã‚‹ã‹ã‚’示ã™æ•°ã‚’1行ã«å‡ºåŠ›ã™ã‚‹ã€‚ãŸã ã—ã€å‡ºåŠ›ã™ã¹ã値ã¯éžå¸¸ã«å¤§ãããªã‚Šã†ã‚‹ã®ã§ã€ä»£ã‚ã‚Šã« 1,000,000,007 ã§å‰²ã£ãŸä½™ã‚Šã‚’出力ã™ã‚‹ã€‚
3 2 1 2 2 3 4 2 2 3 2 4 0
3 4
入出力例ã®æœ€åˆã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«ã¤ã„ã¦èª¬æ˜Žã™ã‚‹ã€‚説明ã®ãŸã‚ã€ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã¯å°ã•ã„æ–¹ã‹ã‚‰é †ç•ªã«ã€'A', 'B', 'C' ã®ï¼“æ–‡å—ã‹ã‚‰ãªã‚‹ã¨ã™ã‚‹ã€‚ã“れらã®æ–‡å—ã‚’ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆé †ã«ä¸¦ã¹ã‚‹ã¨ "ABC" ã¨ã„ã†æ–‡å—列ãŒå¾—られる。ã“ã®æ–‡å—列ã®ï¼‘番目ã®æ–‡å— 'A' ã¨ï¼’番目ã®æ–‡å— 'B' を入れ替ãˆã‚‹ã¨ã€"BAC" ã¨ã„ã†æ–‡å—列ãŒå¾—られる。次ã«ã€å¾—られãŸæ–‡å—列ã®ï¼’番目ã®æ–‡å— 'A' ã¨ï¼“番目ã®æ–‡å— 'C' を入れ替ãˆã‚‹ã¨ã€å˜èªž "BCA" ãŒå¾—られる。辞典ã«ã¯ã€å…ˆé ã‹ã‚‰é †ã« "ABC", "ACB", "BAC", "BCA", "CAB", "CBA" ã®ï¼–種類ã®å˜èªžãŒè¼‰ã£ã¦ã„る。"BCA" ã¯ã“ã®ä¸ã§ï¼“番目(最åˆã®"ABC"ãŒï¼ç•ªç›®ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„)ã«ç¾ã‚Œã‚‹ã®ã§ã€3 ã‚’ 1,000,000,007 ã§å‰²ã£ãŸä½™ã‚Šã§ã‚ã‚‹ 3 ãŒç”ãˆã«ãªã‚‹ã€‚