#include <iostream>

using namespace std;

struct ListNode {
  int m_Value;
  ListNode *m_Next;
};

ListNode* GetKthToTail(ListNode *pHead, unsigned k) {
  if(pHead==NULL || k==0)
    return NULL;

  ListNode *pAhead = pHead;

  for(unsigned i=0; i<k-1; i++) {
    if(pAhead->m_Next==NULL)
      return NULL;

    pAhead = pAhead->m_Next;
  }

  ListNode *pBehind = pHead;
  while(pAhead->m_Next!=NULL) {
    pAhead = pAhead->m_Next;
    pBehind = pBehind->m_Next;
  }

  return pBehind;
}

int main(int argc, char **argv) {


  return 0;
}
