7 my @steps = split //, scalar <>;
11 for (split /\n/, $l) {
12 my @x = /[A-Z0-9]{3}/g;
13 $dirs{$x[0].'L'} = $x[1];
14 $dirs{$x[0].'R'} = $x[2];
18 my %now = map { substr($_, 0, 3) . $steps[0] => 1 } grep { /^..A/ } keys %dirs;
26 while ($node !~ /^..Z/) {
28 $i = 0 if $i >= @steps;
29 $node = $dirs{$node} . $steps[$i];
36 use List::Util qw(product);
41 for my $n ($l =~ /\d+/g) {