def question5(ll, m):
    """ Find the element in a singly linked list that's m elements from the end """

    # get linked list length
    if ll.root:
        node = ll.root
        ll_length = 1
        while node.next:
            ll_length+=1
            node = node.next
    else:
        return None

    # calculate node position in the list
    node_position = ll_length - m

    # if node position is negative or zero, return None
    if node_position <= 0:
        return None

    # traverse untill find position
    node = ll.root
    for _ in range(1, node_position):
        node = node.next
    return node.data