During the algorithm, we make updating \(f(\cdot )\) . We are required to update the data structure accordingly.
If we update \(f(F)\) , then we update the linked lists for all vertices lying on the face of \(F\) , and we check if
each such vertex is required to be marked as “un-feasible”.
This process takes \(O(k)\)  time for each vertex. Thus, the total update time is \(2^{O(k)}n\)  time
The dynamic structure supports the candidate face-edge paths in \(O(k)\)  time.
By Lemma REF  and the argument of [1]},
\(f\)  is updated for each face \(F\)  in \(2^{O(k)}\)  times. This is simply because the value of \(f(F)\)  gets longer during the execution
of the subroutine, and the length of \(\bar{f}(F)\)  is \(2^{O(k)}\) .
Therefore, the total update time for a single execution of the subroutine is \(2^{O(k)}n\) .
