The author points out that a two-stage process consisting of 1. counting the number of elements in the list, and then 2. finding the right element, is quite inefficient -- but he then presents a different approach which uses two pointers instead of one, yet is equally inefficient -- almost every pointer is dereferenced twice.<p>Challenge: Show how, using <i>three</i> pointers, you can find the <i>k</i>th last element from a linked list of unknown length <i>N</i> with no more than <i>N + O(k)</i> pointer dereferences.