Access(v) does three things:
Splay v to make it root of its auxiliary tree.
Detach right subtree of v (nodes deeper than v on the old preferred path). These become their own auxiliary tree.
Climb path-parent pointers: for each ancestor auxiliary tree: - Splay the connection point - Detach its old preferred child - Attach v's auxiliary tree as new preferred child - Splay v again The loop continues until you reach the root (no more path-parent). Each iteration processes one preferred path. Total work is amortized.