def rgb_to_ansi(r, g, b):
    """
    Convert an rgb color to ansi color
    """
    r, g, b = int(r), int(g), int(b)
    if r == g & g == b:
        if r < 8:
            return int(16)
        if r > 248:
            return int(230)
        return int(round((r - 8) / 247 * 24) + 232)
    to_ansi_range = lambda a: int(round(a / 51.0))
    r_in_range = to_ansi_range(r)
    g_in_range = to_ansi_range(g)
    b_in_range = to_ansi_range(b)
    ansi = 16 + 36 * r_in_range + 6 * g_in_range + b_in_range
    return int(ansi)
