5 use experimental 'multidimensional';
9 my (@queues, @ops, @divs, @ift, @iff, @steps);
12 my @lines = split /\n/;
13 push @queues, [ $lines[1] =~ /\d+/g ];
14 my ($op) = $lines[2] =~ /= (.*)/;
17 push @divs, $lines[3] =~ /(\d+)/;
18 push @ift, $lines[4] =~ /(\d+)/;
19 push @iff, $lines[5] =~ /(\d+)/;
23 for my $mk (0 .. $#queues) {
25 while (my $old = shift @$q) {
27 $old = eval $ops[$mk];
29 if ($old % $divs[$mk]) {
30 push @{ $queues[$iff[$mk]] }, $old;
32 push @{ $queues[$ift[$mk]] }, $old;
38 @steps = sort { $b <=> $a } @steps;
40 say $steps[0] * $steps[1];