# -*- coding: utf-8 -*-
"""
Created on Thu Jun 11 06:49:57 2026

@author: pjaub
"""

def repetition(L):
    i = 0
    while i < len(L) and L[i] == L[0]:
        i += 1
    return i

def suivant(x):
    i = 0
    y = ''
    while i < len(x):
        j = repetition(x[i:])
        y += str(j) + x[i]
        i += j
    return y

x = '1'
for _ in range(15):
    print(x)
    x = suivant(x)
    
def suivant(x):
    i = 0
    y = ''
    while i < len(x):
        j = i
        while j < len(x) and x[j] == x[i]:
            j += 1
        y += str(j-i) + x[i]
        i = j
    return y
    
x = '1'
for _ in range(15):
    print(x)
    x = suivant(x)
    
def compression(chaine):
    i = 0
    y = ''
    while i < len(chaine):
        j = repetition(chaine[i:])
        if j == 1:
            y += chaine[i]
        else:
            y += str(j) + chaine[i]
        i += j
    return y

chaine = 'aaaabaaabbbbbaaaiiii'
print(compression(chaine))


def decompression(chaine):
    i = 0
    y = ''
    while i < len(chaine):
        if chaine[i] in '123456789':
            y += int(chaine[i]) * chaine[i+1]
            i += 2
        else:
            y += chaine[i]
            i += 1
    return y
    
print(decompression(chaine))