def loop_detection_buffer(head):
    """Brute force method to determine the node at the beginning of the loop

    :param   head head of the linked list
    :returns False or node at the beginning of the loop

    """
    if head is None:
        return False

    curr = head
    nodes = []

    while curr is not None:
        if curr not in nodes:
            nodes.append(curr)
        else:
            return curr
        curr = curr.next

    return False