{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e一些学生是一个每年都去异国旅行的俱乐部的成员。他们过去的目的地包括印第安纳波利斯、菲尼克斯、纳什维尔、费城、圣何塞、亚特兰大、埃因霍温、奥兰多、温哥华、檀香山、比佛利山、布拉格、上海和圣安东尼奥。今年春天,他们希望进行一次类似的旅行,但还不确定去哪里和何时去。\u003c/p\u003e\u003cp\u003e旅行的一个问题是,他们非常慷慨的赞助商总是给他们各种背包和其他随身包,他们必须为回家的旅行打包。由于航空公司只允许携带有限数量的行李,他们决定合并他们的礼物,并将一个包装在另一个包里,以最小化他们必须携带的总行李数量。\u003c/p\u003e\u003cp\u003e这些包都具有完全相同的形状,只在它们的线性尺寸上有所不同,该尺寸是不超过1000000的正整数。较小尺寸的包可以放入较大尺寸的包中。你需要计算应该将哪些包装在哪些包中,以最小化总行李数量(即最外层包的数量)。在保持最小数量的同时,还要最小化任何一个包中必须携带的总包数量。\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e标准输入包含多个测试用例。每个测试用例由一个整数 \u003ci\u003e1 ≤ n ≤ 10000\u003c/i\u003e 组成,表示包的数量,后面跟着 \u003ci\u003en\u003c/i\u003e 个整数,每行一个或多个,表示一个包的尺寸。最后一个测试用例后面跟着一个包含0的行。\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e对于每个测试用例,你的输出应该包括 \u003ci\u003ek\u003c/i\u003e,表示最小包的数量,后面跟着 \u003ci\u003ek\u003c/i\u003e 行,每行给出组成一个包的包的尺寸,用空格分隔。输出中每个尺寸都应该在输入中出现一次,每个包中的包必须嵌套在另一个包中。如果有多个解决方案,任何一个都可以。在测试用例之间输出一个空行。\u003c/p\u003e"}},{"title":"示例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e6\r\n1 1 2 2 2 3\r\n0\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e3\r\n1 2\r\n1 2\r\n3 2\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}