def descifrar_codigo_cesar(texto_cifrado: str, corrimiento: int) -> str:
    """ Descifrar código César
    Parámetros:
      texto_cifrado (str): El texto cifrado que se quiere descifrar. Puede incluir minúsculas, mayúsculas,
                           espacios y otros caracteres especiales. Sólo tendrá letras del alfabeto inglés.
      corrimiento (int): El corrimiento (cantidad de lugares que se corre una letra) que se usó para generar
                         el cifrado, y por ende debe usarse para descrifar el mensaje
    Retorno:
      str: La cadena descifrada, incluyendo espacios y caracteres especiales que tenía la original.
    """
    traducido = []
    mayuscula = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    minuscula = 'abcdefghijklmnopqrstuvwxyz'
    for cada_letra in texto_cifrado:
        if cada_letra in mayuscula:
            index = mayuscula.index(cada_letra)
            traduciendo = (index - corrimiento) % 26
            nueva_letra = mayuscula[traduciendo]
            traducido.append(nueva_letra)
        elif cada_letra in minuscula:
            index = minuscula.index(cada_letra)
            traduciendo = (index - corrimiento) % 26
            nueva_letra = minuscula[traduciendo]
            traducido.append(nueva_letra)
        else:
            traducido.append(cada_letra)
    traducido = ''.join(traducido)
    return traducido