#!/usr/bin/env perl use warnings; use strict; use feature ':5.10'; use File::Slurp; my @lines = (1..2310); my @s = (13,17,19); my @list1 = (0..$s[0]-1); my @list2 = (0..$s[1]-1); my @list3 = (0..$s[2]-1); foreach $a (@list1) { my @remain1 = grep { $_% $s[0] ne $a} @lines; foreach $b (@list2) { my @remain2 = grep { $_% $s[1] ne $b} @remain1; foreach $c (@list3) { my @remain3 = grep { $_% $s[2] ne $c} @remain2; say $s[0], " ", $a, " ",$s[1]," ", $b, " ", $s[2]," ", $c, " ", scalar @remain3; } } }