sub cross { my @r = []; @r = map {my $l = $_; map {[@$_, $l]} @r} @$_ for @_; @r; }