å›ã¯ä¸€æ˜¨æ—¥ã€å‹äººã®ãƒˆã‚¦ã‚µã‹ã‚‰ä¸€ã¤ã€é ¼ã¿äº‹ã‚’ã•ã‚ŒãŸã€‚ãªã‚“ã§ã‚‚ã€æœ¨ã«ç‰å·®æ•°åˆ—を飾ã£ã¦èª•ç”Ÿæ—¥ãƒ‘ーティーã«ä½¿ã„ãŸã„ã®ã ãŒã€æœ¨ãŒå¤§ãã™ãŽã¦ä¸€äººã§ã¯ã¨ã¦ã‚‚ã§ããªã„ã®ã ã¨ã„ã†ã€‚ãã“ã§ã€å„ªç§€ãªãƒ—ãƒã‚°ãƒ©ãƒžã§ã‚ã‚‹å›ã«ã€åŠ¹çŽ‡çš„ã«æœ¨ã«ç‰å·®æ•°åˆ—を飾るプãƒã‚°ãƒ©ãƒ を書ã„ã¦ã‚‚らã„ãŸã„ãã†ã 。å›ã¨ãƒˆã‚¦ã‚µã¯æ—§çŸ¥ã®è¦ªå‹ã§ã‚る。å›ã¯ãƒˆã‚¦ã‚µã®é ¼ã¿äº‹ã‚’å—ã‘ã‚‹ã“ã¨ã«ã—ãŸã€‚
飾り付ã‘ã‚’ã™ã‚‹$N$ノードã®æœ¨ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚木ã®ãƒŽãƒ¼ãƒ‰ã«ã¯$0$ã‹ã‚‰$N-1$ã¾ã§ã®ç•ªå·ãŒæŒ¯ã‚‰ã‚Œã¦ã„る。最åˆã€æœ¨ã®ãƒŽãƒ¼ãƒ‰ã®ç‚¹æ•°ã¯å…¨ã¦$0$ã§ã‚る。プãƒã‚°ãƒ©ãƒ ã¯ã€ä»¥ä¸‹ã®äºŒã¤ã®ã‚¯ã‚¨ãƒªã«å¯¾å¿œã—ãªã‘ã‚Œã°ãªã‚‰ãªã„。
トウサã®èª•ç”Ÿæ—¥ã‚’ç¥ã†ãŸã‚ã«ã€æœ¨ã‚’美ã—ã飾ã‚ã†ã€‚
入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
$N$ $Q$ $A_0$ $B_0$ $A_1$ $B_1$ : $A_{N-2}$ $B_{N-2}$ $COM_0$ $COM_1$ : $COM_{Q-1}$
木ã®ãƒŽãƒ¼ãƒ‰æ•°$N$ã¨ã‚¯ã‚¨ãƒªã®æ•°$Q$ãŒ$1$è¡Œã«ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚続ã„ã¦$N-1$è¡Œã«æœ¨ã®è¾ºã®æƒ…å ±ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚$A_i$,$B_i$ã¯ã€ãƒŽãƒ¼ãƒ‰$A_i$ã¨$B_i$ã®é–“ã«ç›´æŽ¥è¾ºãŒã‚ã‚‹ã“ã¨ã‚’示ã—ã¦ã„る。ãã®å¾Œã€$Q$個ã®å‘½ä»¤$COM_j$ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
$COM_j$ã®å½¢å¼ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る。
$0$ $S$ $T$
$S$ã€$T$ã¯é ‚点ã®ç•ªå·ã§ã‚る。区間ã®æŒ‡å®šã¯äºŒã¤ã®ãƒŽãƒ¼ãƒ‰ã«ã‚ˆã£ã¦è¡Œã‚れる。$S$ã‹ã‚‰$T$ã¾ã§ã®æœ€çŸçµŒè·¯ãŒæŒ‡å®šã•ã‚ŒãŸåŒºé–“ã§ã‚る。区間ã«å«ã¾ã‚Œã¦ã„るノードã«æ›¸ã‹ã‚ŒãŸç‚¹æ•°ã®ç·å’Œã‚’å ±å‘Šã™ã‚‹ã€‚ãŸã ã—ã€$S$ã¨$T$も区間ã«å«ã‚€ã€‚ç”ãˆã¯éžå¸¸ã«å¤§ãããªã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã§ã€$10^9+7$ã§å‰²ã£ãŸã‚ã¾ã‚Šã‚’出力ã™ã‚‹ã“ã¨ã€‚
$1$ $S$ $T$ $K$ $M$
上ã¨åŒã˜ãã€$S$ã¨$T$ã§æŒ‡å®šã•ã‚ŒãŸåŒºé–“ã«å«ã¾ã‚Œã¦ã„るノードã«ç‚¹æ•°ã‚’足ã™ã€‚足ã™ç‚¹æ•°ã¯ã€$S$ã‹ã‚‰ã®æœ€çŸè·é›¢ã‚’$L$ã¨ã—ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ç®—出ã•ã‚Œã‚‹ã€‚
$K+L{\times}M$
入力ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™ã€‚
$0$ã®ã‚¯ã‚¨ãƒªã®ã¨ãã€æŒ‡å®šã•ã‚ŒãŸåŒºé–“ã«å«ã¾ã‚Œã¦ã„るノードã«æ›¸ã‹ã‚ŒãŸç‚¹æ•°ã®ç·å’Œã‚’一行ã«å‡ºåŠ›ã™ã‚‹ã€‚
3 3 0 2 1 2 1 1 0 0 1 0 0 2 0 0 1
3 3
ã¾ãšã€$1-2-0$ã®åŒºé–“ã«åˆé …$0$ã€å…¬å·®$1$ã®æ•°åˆ—を足ã™ã€‚ノードã®ç‚¹æ•°ã¯$0,1,2$ã®é †ã«$2,0,1$ã¨ãªã‚‹ã€‚
次ã«ã€$0-2$ã®åŒºé–“ã®ãƒŽãƒ¼ãƒ‰ã®ç‚¹æ•°ã®å’Œã‚’出力ã™ã‚‹ã€‚$2+1=3$ãªã®ã§ã€$3$を出力ã™ã‚‹ã€‚
次ã«ã€$0-2-1$ã®åŒºé–“ã®ãƒŽãƒ¼ãƒ‰ã®ç‚¹æ•°ã®å’Œã‚’出力ã™ã‚‹ã€‚$2+1+0=3$ãªã®ã§ã€$3$を出力ã™ã‚‹ã€‚
5 6 1 0 2 0 3 2 4 1 1 1 4 0 4 0 4 1 1 3 0 7 3 0 2 2 1 4 1 8 0 0 4 2
4 10 43