#!/usr/bin/perl
use 5.016;
use warnings;

sub chunk {
	my $n = shift;

	my @l;
	foreach(0 .. $#_){
		push @{$l[$_ / $n]}, $_[$_];
	}

	return @l;
}

sub len { length($_[0]) > 1 ? length($_[0]) : '' }

sub f { map{ $_->[1] . len($_->[0]) } chunk(2, shift =~ m/\G((.)\2*)/g) }

say f("aaaaaaaaaabbbbbbbbbbbbcccccccddddddddddeeeeeeefffffffffghiiiiiiiii");
