デモクラティア共和国の大統領は,以下のような複数段階の選挙により選ばれる.
この国の大統領選挙では,以下の仮定が成り立つ.
したがって,すべての段階のすべての選挙区で,必ずどちらかの候補が勝つ (引き分けはない).
あなたの仕事は,なるべく少ない得票数で大統領選挙に勝つ方法を求めるプログラムを作成することである. たとえば,最終段階の選挙区がちょうど三つの第1段階の選挙区を含んでおり,これらの第1段階の選挙区の有権者数がそれぞれ123名,4567名,89名だったとする. この場合,最初の選挙区で62票,3番目の選挙区で45票の計107票を獲得するのが,最も少ない得票数で勝つ方法になる. この場合,仮にもう一人の候補が2番目の選挙区で4567票すべてを獲得したとしても,敗者となることは避けられない. 不公平な選挙制度だと思うかもしれないが,これも現実として受け止めて欲しい.
入力全体は以下の形式をしている.
データセット数(=n)
データセット1の記述
データセット2の記述
…
データセットnの記述
データセット数nは100以下である.
各選挙区の有権者数と選挙区同士の関係を次のような書式で記す.
たとえば,有権者数123名の第1段階の選挙区は,[123]と記される. また,有権者数がそれぞれ123名,4567名,89名の三つの第1段階の選挙区を含む第2段階の選挙区は,[[123][4567][89]]と記される.
各データセットは1行であり,この行は,最終段階の選挙区を上の書式で記した文字列よりなる. この問題を解くにあたり,次のように仮定して良い.
ステージの段数は国全体で一定である. したがって,たとえば,[[[9][9][9]][9][9]] は決して入力に現れない. また,[[[[9]]]] も現れない. なぜならば,第2段階以降の選挙区は,一つ前の段階の選挙区を必ず複数含むからである.
各データセットに対し,最少得票数で大統領選挙に勝つために必要な票数を求め,それを1行に出力しなさい. 各出力行はこの数値以外の文字を含んではならない.
6 [[123][4567][89]] [[5][3][7][3][9]] [[[99][59][63][85][51]][[1539][7995][467]][[51][57][79][99][3][91][59]]] [[[37][95][31][77][15]][[43][5][5][5][85]][[71][3][51][89][29]][[57][95][5][69][31]][[99][59][65][73][31]]] [[[[9][7][3]][[3][5][7]][[7][9][5]]][[[9][9][3]][[5][9][9]][[7][7][3]]][[[5][9][7]][[3][9][3]][[9][5][5]]]] [[8231][3721][203][3271][8843]]
107 7 175 95 21 3599