from structures import ListNode, build_list, list_values

def reverse_sublist(head, left, right):
    dummy = ListNode(next=head)
    before = dummy
    for _ in range(left - 1):
        before = before.next
    current = before.next
    for _ in range(right - left):
        moving = current.next
        current.next = moving.next
        moving.next = before.next
        before.next = moving
    return dummy.next
