#include
using namespace std;
template
struct node{
DataType data;
node* next;
};
template
class linkList{
public:
linkList();
~linkList();
node* reverseFindK(int k);
private:
node* first;
};
template
linkList::linkList()
{
first = new node;
first->next = NULL;
node* rear = first;
int n;
cin >> n;
for(int i=0; i<n; ++i){
DataType elem;
cin >> elem;
node* s = new node;
s->data = elem;
s->next = NULL;
rear->next = s;
rear = s;
}
}
template
linkList::~linkList()
{
node* p;
while(first != NULL){
p = first;
first = first->next;
delete p;
}
}
template
node* linkList::reverseFindK(int k)
{
node* p = first->next;
node* q = first->next;
for(int i=0; i<k-1; ++i){
if(p == NULL){
return NULL;
}
p = p->next;
}
if(p == NULL){
return NULL;
}
while(p->next != NULL){
p = p->next;
q = q->next;
}
return q;
}
int main()
{
linkList L;
int k;
cin >> k;
node* p = L.reverseFindK(k);
if(p == NULL)
cout << 'Not Found' << endl;
else
cout << p->data << endl;
L.~linkList();
return 0;