from structures import ListNode, build_list, list_values

def remove_nth_from_end(head, n):
    dummy = ListNode(next=head)
    slow = fast = dummy
    for _ in range(n):
        fast = fast.next
    while fast.next is not None:
        slow = slow.next
        fast = fast.next
    slow.next = slow.next.next
    return dummy.next
