from typing import Tuple


def rgb_to_cmyk(r: int, g: int, b: int) -> Tuple[float, float, float, float]:
    """Convert RGB (Red Green Blue) to CMYK (Cyan Magenta Yellow Black).

    :param r: Red (0 to 255 inclusive).
    :param g: Green (0 to 255 inclusive).
    :param b: Blue (0 to 255 inclusive).
    :return: CMYK tuple.
    """
    if r == 0 and g == 0 and b == 0:
        return 0, 0, 0, 1

    c = 1 - r / 255
    m = 1 - g / 255
    y = 1 - b / 255

    cmy_min = min(c, m, y)
    c = (c - cmy_min) / (1 - cmy_min)
    m = (m - cmy_min) / (1 - cmy_min)
    y = (y - cmy_min) / (1 - cmy_min)
    k = cmy_min

    return c, m, y, k