4 use List::Util qw(sum);
10 $orb{$b[0]}{$b[1]} = 1;
16 $rv[0] = 0 if $b eq 'YOU';
17 $rv[1] = 0 if $b eq 'SAN';
18 say "walking $b at $depth, rv=", ($rv[0] // '_'), ',', ($rv[1] // '_');
19 for my $x (keys %{ $orb{$b} }) {
21 my ($v1, $v2) = walk($x, $depth+1);
22 say "$b<-$x, rv=", ($rv[0] // '_'), ',', ($rv[1] // '_');
25 if (defined $rv[0] && defined $rv[1]) {
26 say "Back at $b: $rv[0],$rv[1]";
27 say $rv[0]+$rv[1] - 2;
31 $rv[0]++ if defined $rv[0];
32 $rv[1]++ if defined $rv[1];
33 say "returning from $b at $depth, rv=", ($rv[0] // '_'), ',', ($rv[1] // '_');