<>; for(<>){ if(/^0 (\d+) \d+ /){ $i=$1; for$a($'=~/\w+/g){ $$i{$a}++; } } if(/^1 (\w+)/){ $a=$1; for$i(1..20,-1){ if($i<0||$$i{$a}){ --$$i{$a}; print$i,$/; last; } } } if(/^2 (\d+)/){ %$1=(); } }