def get_position_name(position):
    """
    get_position_name()

    Returns position name based on the index (e.g., "first" for 0).

    Required args:
        - position (int): position number type
    
    Returns:
        - (str): position name
    """

    position_names = [
        "first", "second", "third", "fourth", "fifth", "sixth", "seventh", 
        "eighth", "ninth", "tenth", "eleventh", "twelfth", "thirteenth", 
        "fourteenth", "fifteenth", "sixteenth", "seventeenth", "eighteenth", 
        "nineteenth", "twentieth"]

    if not int(position) == float(position):
        raise TypeError("position must be of type int.")
    if position >= len(position_names):
        raise ValueError(
            f"Only values smaller than {len(position_names)} allowed for "
            "'position'.")

    return position_names[position]