{a[n=NR]=$0}END{for(;n--;i=a[i]=_){for(;!/: *$/;)$0=a[++i] sub(/: */,_) print for(j=NR;j;)sub(FS$0"( |$)",FS,a[j--])}}