H $!d s/.*// x s/\n// h s/^\(\w* \w* \).*$/\1/gm :Z s/\b\(\w\+\)\b\(.*\b\1\b\)/\2/ tZ s/[ \n]\+/\n/g s/^\n*\|\n*$//g x s/^\(\w*\) \(\w*\) \(.*\)$/\3,\1,\2/gm s/$/ /gm :a /\n/!bq s/^\(.*\)\n\(.*\)$/@\1: %\2/gm :b s/^[^%@:\n]*$/~&/gm s/^\(.*\)@\(.*\): % *$/~\1\2/gm s/^\(.*\)@: \(.*\)%\(.*\)/~\1\2\3/gm /@/!be x s/$/\n=m/ x H s/^~.*$/~/gm s/^.*@\(\w*\)\(,\w*\)*.*%\(\w*\)\(,\w*\)*.*$/\1 \3/gm x s/$/\n=n/ x H :1 s/^ $/=/gm s/^ .*//gm s/^[0-9]\|\b[0-9]//gm t1 s/\n//g G s/\n.*=n// x s/\n=n.*// x :2 s/\`=\(.*\)\n\(.*\)$/\1#\2/m s/\`<\(.*\)\n\(.*\)$/\1#\(.*\)\n\(.*\)$/\1#>/m s/\`~\(.*\)\n.*$/\1#~/m t2 s/#/\n/g s/\n// s/^/#/gm :3 s/#\(.\)\(.*\) \(.\)\(.*\)/\1\3 #\2 \4/gm t3 s/#//g :4 s/00/=/g s/0[1-9]//g y/123456789/012345678/ /[0-9]/b4 s/ //gm s/=*\(.\).*/\1/gm s/\n//g G s/\n.*=m/#/ x s/\n=m.*// x :m s/^[<=]\(.*\)\n\(.*\)@\(\(\w\|,\)*\) \(.*\)%\(\(\w\|,\)*\)/\1-\2\3 @\5%\6/m s/^>\(.*\)\n\(.*\)@\(\(\w\|,\)*\)\(.*\)%\(\(\w\|,\)*\) /\1-\2\6 @\3\5%/m s/^~\([^\n]*\)\n~/\1-/ tm s/-/\n/g s/#\n// bb :e s/~//g ba :q s/ $// s/ /\n/g s/^\(.*\),\(\w*\),\(\w*\)$/\2 \3 \1/gm x s/^.*$/& &/gm x s/^/#/ s/$/\n/ x :Y x /#$/bX x s/$/\n=e/ G s/=e.*#\(\w* \w*\) .*/\1/ s/\(.*\)\n\(.*\)/\2\n\1\n/ :A s/^\(\w\+\) \(.*\n\1 \(\w\+\)\b\)\([^#]\)/\3 \2#\4/ tA :B s/^\(\w\+\) \(\w\+\)\b\(.*\n\2 \(\w\+\)\b\)\([^#]\)/\1 \4\3#\5/ tB /^\(\w*\) \1\b/{s//\1 F/;bD} /^\w\+ \(\w\+\)\b.*\n\1 \1#/{s/^\(\w*\) \w*\b/\1 T/;bD} s/^\(\w*\) \w*\b/\1 F/ :D :E s/^\(\w*\)\( .* \)\w*#/\1\2\1/ tE s/\n$// x s/$/\n=e/ G s/#\([^\n]*\n\)\(.*\)\n=e\n\w* \(.\).*/\3 \1#\2/ x s/.*\n//m bY :X s/// s/\n$//