#include <iostream>
using namespace std;
struct Node
{
int data;
Node* next;
};
void printNode(Node* n)
{
if(n != 0)
{
cout<<n->data<<" ";
printNode(n->next);
}
}
Node* insertNth(Node* head, Node* n1, int data, int position)
{
Node* node = head;
for(int i=0; i<position;i++)
{
node = node->next;
}
n1 = new Node;
n1->next = node;
n1->data = data;
return n1;
}
int main() {
// your code goes here
Node* n1 = new Node;
n1->data = 1;
Node* n2 = new Node;
n2->data = 2;
Node* n3 = new Node;
n3->data = 3;
n1->next = n2;
n2->next = n3;
n3->next = 0;
Node* n4;
printNode(n1);
insertNth(n1,n4,4,1);
cout<<endl;
printNode(n1);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IE5vZGUKewoJaW50IGRhdGE7CglOb2RlKiBuZXh0Owp9OwoKdm9pZCBwcmludE5vZGUoTm9kZSogbikKewoJaWYobiAhPSAwKQoJewoJCWNvdXQ8PG4tPmRhdGE8PCIgIjsKCQlwcmludE5vZGUobi0+bmV4dCk7Cgl9Cn0KCk5vZGUqIGluc2VydE50aChOb2RlKiBoZWFkLCBOb2RlKiBuMSwgaW50IGRhdGEsIGludCBwb3NpdGlvbikKewoJTm9kZSogbm9kZSA9IGhlYWQ7CgkKCWZvcihpbnQgaT0wOyBpPHBvc2l0aW9uO2krKykKCXsKCQlub2RlID0gbm9kZS0+bmV4dDsKCX0KCW4xID0gbmV3IE5vZGU7CgluMS0+bmV4dCA9IG5vZGU7CgluMS0+ZGF0YSA9IGRhdGE7CgkKCXJldHVybiBuMTsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkKCU5vZGUqIG4xID0gbmV3IE5vZGU7CgluMS0+ZGF0YSA9IDE7CglOb2RlKiBuMiA9IG5ldyBOb2RlOwoJbjItPmRhdGEgPSAyOwoJTm9kZSogbjMgPSBuZXcgTm9kZTsKCW4zLT5kYXRhID0gMzsKCQoJbjEtPm5leHQgPSBuMjsKCW4yLT5uZXh0ID0gbjM7CgluMy0+bmV4dCA9IDA7CgkKCU5vZGUqIG40OwoJCglwcmludE5vZGUobjEpOwoJaW5zZXJ0TnRoKG4xLG40LDQsMSk7Cgljb3V0PDxlbmRsOwoJcHJpbnROb2RlKG4xKTsKCQoJcmV0dXJuIDA7Cn0=