4 use List::Util qw(sum0);
12 my ($s1, $s2, $d) = /([A-Z])/g;
13 $r1{"$s1$s2"} = "$s1$d";
14 $r2{"$s1$s2"} = "$d$s2";
20 for my $i (0 .. length($tmpl) - 2) {
21 $p{substr($tmpl, $i, 2)}++;
22 $count{substr($tmpl, $i, 1)}++;
24 $count{substr($tmpl, -1, 1)}++;
28 for my $pair (keys %p) {
30 $p1{$r1{$pair}} += $p{$pair};
31 $p1{$r2{$pair}} += $p{$pair};
32 $count{$ins{$pair}} += $p{$pair};
38 my @count = sort { $a <=> $b } values %count;
40 say $count[-1] - $count[0];