map{ $m=!s/$/, /; $x=y/,//; for$n(1..$x){/^((?:\d+, ){$n})\1+$/&&{$m=$n,last}} print$/,($m>0?$x/$m:0); } __DATA__ 1, 2, 5, 1, 2, 5, 1, 2, 5 3, 6, 3, 6, 3, 6, 3, 6 4, 1, 28, 0, 4, 1, 28, 0 3, 5, 17, 3, 17, 5 4, 1, 28, 0, 4, 1, 28