import sys


def indice_lettre(lettre):
    return ord(lettre.lower()) - 96


def affiche_ligne(lettre, nb_espaces, lettre_courante, largeur_ligne, lettre_remplissage):
    if lettre_courante == 'a':
        return("a".center(largeur_ligne, ' ')) + '\n'
    elif lettre_courante == lettre:
        return(lettre_courante.ljust(largeur_ligne - 1, lettre_remplissage) + lettre_courante) + '\n'
    else:
        return("".ljust(nb_espaces) + lettre_courante.ljust(largeur_ligne - nb_espaces * 2 - 1, lettre_remplissage) + lettre_courante + "".ljust(nb_espaces)) + '\n'


def diamond(lettre, lettre_remplissage=' '):
    alpha = [chr(i) for i in range(ord('a'), ord('z') + 1)]
    revert = []
    nb = 0
    nb_espaces = indice_lettre(lettre) - 1
    largeur_ligne = indice_lettre(lettre) * 2 - 1
    diamond = ''
    for i in alpha:
        if i == lettre:
            diamond += affiche_ligne(lettre, nb_espaces, i, largeur_ligne, lettre_remplissage)
            nb_espaces = 1
            break
        revert.append(i)
        diamond += affiche_ligne(lettre, nb_espaces, i, largeur_ligne, lettre_remplissage)
        nb_espaces -= 1
        nb += 1
    revert.sort(reverse=True)
    for j in revert:
        diamond += affiche_ligne(lettre, nb_espaces, j, largeur_ligne, lettre_remplissage)
        nb_espaces += 1
    return diamond

# Juste pour pouvoir le lancer en ligne de commande


argv = sys.argv

if len(argv) > 3 or len(argv) == 1:
    print('usage : python diamond.py a -')
else:
    lettre = sys.argv[1].lower()
    lettre_remplissage = sys.argv[2] if len(argv) > 2 else ' '
    print('lr {e} xxx'.format(e=lettre_remplissage))
    print(diamond(lettre, lettre_remplissage))
