#!perl -n0
s/\S+$/$&
$& $&/gm;X:for$x(/\S+/g){/^(?!\Q$x\E ).+ \Q$x
/m or s/^\Q$x\E .*$//mg,(print"$x
"),goto X}/./&&&g
|
#!perl -n0
s/\S+$/$&
$& $&/gm;X:for$x(/(.+) /mg){/^(?!\Q$x\E ).+ \Q$x\E$/m or s/^\Q$x\E .*$//mg,print("$x
"),goto X}/./&&&g
|
#!perl -n0
s/\S+$/$&
$& $&/gm;X:{for$x(/^(.+) /mg){/^(?!\Q$x\E ).+ \Q$x\E$/m or s/^\Q$x\E .*$//mg,print("$x
"),redo X}/./&&&g}
|
#!perl -alp
($,,$b)=@F;$l{$b}||=[];$,ne$b&&push@{$l{$,}},$b}while(%l){(($_)=grep{$*=$_;!grep$*eq$_,map@$_,%l}keys%l)?delete$l{$_}:&g
|
#!perl -alp
($a,$b)=@F;$l{$b}||=[];push@{$l{$a}},$b if$a ne$b}while(%l){(($_)=grep{$*=$_;!grep$*eq$_,map@$_,%l}keys%l)?delete$l{$_}:&g
|
#!perl -alp
$l{$F[1]}||=[];push@{$l{$F[0]}},$F[1]if$F[0]ne$F[1]}while(%l){($_)=grep{$*=$_;!grep{$*eq$_}map@$_,%l}keys%l
or die;delete$l{$_}
|
#!perl -alp
@h{@F}=@F;push@{$l{$F[0]}},$F[1]if$F[0]ne$F[1]}while(%h){($_)=grep{$*=$_;!grep{$*eq$_}map{@$_}%l}%h or die;delete$l{$_};delete$h{$_}
|
#!perl -alp
@h{@F}=@F;push@{$l{$F[0]}},$F[1]if$F[0]ne$F[1]}while(keys%h){($_)=grep{$*=$_;!grep{$*eq$_}map{@$_}%l}keys%h or die;delete$l{$_};delete$h{$_}
|