sub f{$:[$_]||=${$:[$_]="$` $' ",$v{$`}.$v{$'}||g("$`","$'")&&return 1while$@[$_]=~/\B/g}}sub g{map{f||return@v{@_}=()for@$_}@v{@_}=@_}map{chop;map{push@$_,$-}$',$`while/\B/g;++$-}@@=<>;f||(@:=Impossible,last)for 1..$#@;print@: