def modify_cum_probs(cum_probs):
    """
    Insersion prolongs read length.
    Therefore, insersion, deletion, and mutation rate must be modified based on expected genarated read length.
    E(generated_readlength) = original_readlength * (1 + ci + ci^2 + ci^3 + ... + ci^inf) = original_readlength / (1 - ci)
    E(generated_ci) = (ci / (1 - ci)) / (1 / (1 - ci)) = ci
    E(generated_cd) = cd * (1 - ci)
    E(generated_cs) = cs * (1 - ci)
    """
    ci, cd, cs = cum_probs
    cs = cs - cd
    cd = cd - ci
    new_cs = cs / (1 - ci)
    new_cd = cd / (1 - ci)
    return ([ci, ci + new_cd, ci + new_cd + new_cs])