def time_time2text(s, m, h, seconds_frac=0):
    """
    Semantics:
        Writes time as s,m,h into the format of text for printing for example.

    Args:
        s: seconds
        m: minutes
        h: hours
        seconds_frac: lower than a seconds

    Returns:
        Format is ('s+seconds_frac seconds ', 'm minutes ', 'h hours ').
        The plural is changed depending on how many units there are, and if a variable is 0, the string is empty.

    """
    if s == 0:
        ts = ""
    elif s == 1:
        ts = f"{s + seconds_frac} second "
    else:
        ts = f"{s:d} seconds "

    if m == 0:
        tm = ""
    elif m == 1:
        tm = f"{m:d} minute "
    else:
        tm = f"{m:d} minutes "

    if h == 0:
        th = ""
    elif h == 1:
        th = f"{h:d} hour "
    else:
        th = f"{h:d} hours "

    if h == s and s == m and m == 0:
        ts = "{} second ".format(seconds_frac)
    return ts, tm, th