http://qs1969.pair.com?node_id=469536


in reply to Odd Ball Challenge

Challenge accepted. For better or worse, I am using "math" when it comes to this problem (this problem clearly generalizes).

sub c{print"@{$_[0]} <=> @{$_[1]}: -/+1 if left/right heavier, 0 if eq +ual: ";<>} sub b{$_[0]<13?$_[0]:26-$_[0]} sub a{2>($_[0]+($_[0]>11))%4} sub d{sor +t{$a<=>$b} map b($_),grep{a($_)&&$_[1]==int($_%3**$_[0]/3**$_[0]*3)}1..25}$;+=3** +$_/3*(1+c( [d($_,0)],[d($_,2)]))for 1..3;print b($;)." is ".(a($;)?"heavi":"light +")."er\n";