sub print_sums { my ($listA, $listB) = @_; my $min = $listA->[0] + $listB->[0] - 1; while ($min < $listA->[-1] + $listB->[-1]) { my $nextmin = undef; my $multiplicity = 0; for my $i (0 .. $#$listA) { for my $j (0 .. $#$listB) { my $sum = $listA->[$i] + $listB->[$j]; if ($sum > $min and ($sum < $nextmin or not defined $nextmin)) { ($nextmin, $multiplicity) = ($sum, 1); } elsif ($sum == $nextmin) { $multiplicity++; } } } print( ($nextmin) x $multiplicity); $min = $nextmin; } }