--- /dev/null
+#! /usr/bin/perl
+use strict;
+use warnings;
+
+my @l=<>;
+
+my @replen;
+REPLEN: for my $replen (1..@l) {
+ for my $tried (@replen) {
+ next REPLEN if ($replen%$tried)==0;
+ }
+ my $repcountx;
+ REPCOUNT: for my $repcount (2..@l/$replen) {
+ for my $repline (0..$replen-1) {
+ next if $l[@l-$replen+$repline] eq $l[@l-$replen*$repcount+$repline];
+ $repcountx=$repcount-1;
+ last REPCOUNT;
+ }
+ }
+ next if !$repcountx || $repcountx==1;
+ my $covered=$replen*$repcountx;
+ print "$replen lines ${repcountx}x covers $covered of ".int(@l)." = ".int(100*$covered/@l)."%\n";
+ push @replen,$replen;
+}