def METHOD_NAME(message_len, min_fragment_len, max_fragment_len):
    assert message_len > 0
    assert min_fragment_len > 0
    assert max_fragment_len >= min_fragment_len
    max_fragment_count = message_len // min_fragment_len
    fragment_len = None
    for fragment_count in range(1, max_fragment_count + 1):
        fragment_len = math.ceil(message_len / fragment_count)
        if fragment_len <= max_fragment_len:
            break
    assert fragment_len != None
    return fragment_len