主婦ã®ç´åã¯ã“ã®ä¸æ³ã®ã•ãªã‹é£Ÿè²»ã‚’抑ãˆã‚‹ã“ã¨ã«é—˜å¿—を燃やã—ã¦ã„ã¾ã—ãŸã€‚毎æœæ–°èžåºƒå‘Šã‚’å¿…ãšãƒã‚§ãƒƒã‚¯ã€‚è²·ã†ç‰©ãƒªã‚¹ãƒˆã¨æœ€ã‚‚安ã売られã¦ã„ã‚‹ãŠåº—ã‚’ã—ã£ã‹ã‚Šãƒªã‚¹ãƒˆã‚¢ãƒƒãƒ—ã—ã¦ã€ãŠåº—ã‚’ã¯ã—ã”ã—ãªãŒã‚‰ã€ã‚¨ãƒ—ãƒãƒ³ãƒ»ã‚µãƒ³ãƒ€ãƒ«ã¨ã„ã†æˆ¦é—˜ã‚¹ã‚¿ã‚¤ãƒ«ã§è‡ªè»¢è»Šã‚’ã“ãŽã“ãŽè²·ã„物ã«è¡Œãã¾ã™ã€‚
ãã“ã§å¤«ã®ã‚ãªãŸã¯å°‘ã—ã§ã‚‚ç´åã®å½¹ã«ç«‹ã¨ã†ã¨ã€å¾—æ„ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã§å®¶è¨ˆç°¿ãƒ—ãƒã‚°ãƒ©ãƒ を作æˆã™ã‚‹ã“ã¨ã«ã—ã¾ã—ãŸã€‚プãƒã‚°ãƒ©ãƒ ã¯ã€å„スーパーã«å£²ã£ã¦ã„ã‚‹å“物ã®åå‰ã¨å€¤æ®µï¼ˆå††ï¼‰ã€ç´åãŒå¿…è¦ãªå“物を入力ã—ã€å…¨ã¦ã®å“物を集ã‚ã‚‹ãŸã‚ã®æœ€å°é‡‘é¡ã‚’出力ã—ã¾ã™ã€‚
ç´åã¯å®¶ã‚’出ã¦å¿…è¦ãªå“物を集ã‚ã€å®¶ã«æˆ»ã£ã¦ã“ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 ãã“ã§ã€ç´åã‚’æ°—é£ã£ãŸã‚ãªãŸã¯ã€æœ€å°é‡‘é¡ãŒåŒã˜ã«ãªã‚‹è²·ã„物ルートãŒè¤‡æ•°ã‚ã‚‹å ´åˆã‚‚考慮ã—ã¦ã€ã‚ˆã‚Šè·é›¢ãŒçŸããªã‚‹ãƒ«ãƒ¼ãƒˆã®è·é›¢ã‚’å ±å‘Šã™ã‚‹æ©Ÿèƒ½ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã«ã—ã¾ã—ãŸã€‚従ã£ã¦ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ã‚¹ãƒ¼ãƒ‘ー・家間を繋ãé“ã®æƒ…å ±ã‚‚å…¥åŠ›ã—ã¾ã™ã€‚
スーパーã®æ•°ã‚’ n ã¨ã—ã€å„スーパーã«ã¯ãã‚Œãžã‚Œ 1 ã‹ã‚‰ n ã¾ã§ã®ç•ªå·ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ã•ã‚‰ã«ç´åã®å®¶ã‚’ 0 番ã¨ã—ã¾ã™ã€‚é“ã®æƒ…å ±ã¯ã“れらã®ç•ªå·ã®ãƒšã‚¢ã¨ãã®è·é›¢ï¼ˆæ•´æ•°ï¼‰ã§ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
入力ã¨ã—ã¦è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚å„データセットã®å½¢å¼ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼š
n (スーパーã®æ•°ï¼šæ•´æ•°ï¼‰
k1 name1 value1 name2 value2 . . . namek1 valuek1(1 番目ã®ã‚¹ãƒ¼ãƒ‘ーã«ã‚ã‚‹å“物ã®ç¨®é¡žã®æ•°ã€1ã¤ç›®ã®å“物åã¨å€¤æ®µã€2ã¤ç›®ã®å“物åã¨å€¤æ®µ,,,:整数ã¨æ–‡å—列ã®ç©ºç™½åŒºåˆ‡ã‚Šï¼‰
k2 name1 value1 name2 value2 . . . namek2 valuek2(2 番目ã®ã‚¹ãƒ¼ãƒ‘ーã«ã‚ã‚‹å“物ã®ç¨®é¡žã®æ•°ã€1ã¤ç›®ã®å“物åã¨å€¤æ®µã€2ã¤ç›®ã®å“物åã¨å€¤æ®µ,,,:整数ã¨æ–‡å—列ã®ç©ºç™½åŒºåˆ‡ã‚Šï¼‰
.
.
kn name1 value1 name2 value2 . . . namekn valuekn(n 番目ã®ã‚¹ãƒ¼ãƒ‘ーã«ã‚ã‚‹å“物ã®ç¨®é¡žã®æ•°ã€1ã¤ç›®ã®å“物åã¨å€¤æ®µã€2ã¤ç›®ã®å“物åã¨å€¤æ®µ,,,:整数ã¨æ–‡å—列ã®ç©ºç™½åŒºåˆ‡ã‚Šï¼‰
q (必è¦ãªå“物ã®æ•°ï¼šæ•´æ•°ï¼‰
name1 (1 ã¤ç›®ã®å¿…è¦ãªå“物ã®åå‰ï¼šæ–‡å—列)
name2 (2 ã¤ç›®ã®å¿…è¦ãªå“物ã®åå‰ï¼šæ–‡å—列)
.
.
nameq (q ã¤ç›®ã®å¿…è¦ãªå“物ã®åå‰ï¼šæ–‡å—列)
m (é“ã®æ•°ï¼šæ•´æ•°ï¼‰
s1 t1 d1 (1 本目ã®é“ã®æƒ…å ±ï¼šç©ºç™½åŒºåˆ‡ã‚Šã®æ•´æ•°ï¼‰
s2 t2 d2 (2 本目ã®é“ã®æƒ…å ±ï¼šç©ºç™½åŒºåˆ‡ã‚Šã®æ•´æ•°ï¼‰
.
.
sm tm dm (m 本目ã®é“ã®æƒ…å ±ï¼šç©ºç™½åŒºåˆ‡ã‚Šã®æ•´æ•°ï¼‰
si ti di 㯠si番目ã®ã‚¹ãƒ¼ãƒ‘ー(ã¾ãŸã¯å®¶ï¼‰ã¨ ti番目ã®ã‚¹ãƒ¼ãƒ‘ー(ã¾ãŸã¯å®¶ï¼‰ãŒåŒæ–¹å‘ã«è¡Œãæ¥ã™ã‚‹ã“ã¨ãŒã§ãã€ãã®è·é›¢ãŒ diã§ã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
家ã‹ã‚‰ï¼ˆã‚¹ãƒ¼ãƒ‘ーを経由ã—ã¦ï¼‰å…¨ã¦ã®ã‚¹ãƒ¼ãƒ‘ーã¸è¡Œãã“ã¨ãŒã§ãるよã†ãªé“ãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚
n 㯠10 以下ã§ã‚ã‚Šã€q 㯠15 以下ã¨ã—ã¾ã™ã€‚ ki 㯠100 以下ã§ã‚り〠å“物åã®æ–‡å—列㯠20æ–‡å—を越ãšã€å“物ã®å€¤æ®µã¯ 10000 を越ãˆã¾ã›ã‚“。 ã¾ãŸã€é“ã®é•·ã•ã¯ 1000 を越ãˆã¾ã›ã‚“。
n ㌠0 ã®ã¨ãã€å…¥åŠ›ã®çµ‚ã‚ã‚Šã¨ã—ã¾ã™ã€‚
å„データセットã«ã¤ã„ã¦ã€æœ€å°ã®é‡‘é¡ã¨è·é›¢ã‚’1ã¤ã®ç©ºç™½ã§åŒºåˆ‡ã£ã¦ï¼‘è¡Œã«å‡ºåŠ›ã—ã¦ä¸‹ã•ã„。ãŸã ã—ã€å¿…è¦ãªå“物を全ã¦é›†ã‚られãªã„å ´åˆã¯ "impossible" ã¨å‡ºåŠ›ã—ã¦ä¸‹ã•ã„。
3 3 apple 100 banana 200 egg 300 3 apple 150 banana 100 cola 200 3 apple 100 banana 150 cola 200 3 apple banana cola 5 0 2 4 0 1 3 0 3 3 1 2 3 2 3 5 3 3 apple 100 banana 200 egg 300 3 apple 150 banana 100 cola 200 3 apple 100 banana 150 cola 200 4 apple banana cola jump 5 0 2 4 0 1 3 0 3 3 1 2 3 2 3 5 0
400 10 impossible