#include <stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *left,*right;
};
int count=0;
void print(struct node*root,int k)
{
if(root!=NULL&&count<=k)
{
print(root->right,k);
count++;
if(count==k)
print(root->left,k);
}
}
struct node* create(struct node*root,int x)
{
struct node
*p
=(struct node
*)malloc(sizeof(struct node
)); p->data=x;
p->left=NULL;
p->right=root;
return p;
}
void show(struct node*root)
{
while(root!=NULL)
{
root=root->right;
}
}
int main()
{
// your code goes here
struct node*root=NULL;
root=create(root,5);
root=create(root,6);
root=create(root,7);
//root=create(root,8);
//root=create(root,9);
//show(root);
print(root,1);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgpzdHJ1Y3Qgbm9kZQp7CglpbnQgZGF0YTsKCXN0cnVjdCBub2RlICpsZWZ0LCpyaWdodDsKfTsKaW50IGNvdW50PTA7CnZvaWQgcHJpbnQoc3RydWN0IG5vZGUqcm9vdCxpbnQgaykKewoJaWYocm9vdCE9TlVMTCYmY291bnQ8PWspCgl7CgkJcHJpbnQocm9vdC0+cmlnaHQsayk7CgkJY291bnQrKzsKCQlpZihjb3VudD09aykKCQkJcHJpbnRmKCIlZCAiLHJvb3QtPmRhdGEpOwoJCXByaW50KHJvb3QtPmxlZnQsayk7Cgl9Cn0Kc3RydWN0IG5vZGUqIGNyZWF0ZShzdHJ1Y3Qgbm9kZSpyb290LGludCB4KQp7CglzdHJ1Y3Qgbm9kZSpwPShzdHJ1Y3Qgbm9kZSopbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9kZSkpOwoJcC0+ZGF0YT14OwoJcC0+bGVmdD1OVUxMOwoJcC0+cmlnaHQ9cm9vdDsKCXJldHVybiBwOwp9CnZvaWQgc2hvdyhzdHJ1Y3Qgbm9kZSpyb290KQp7Cgl3aGlsZShyb290IT1OVUxMKQoJewoJCXByaW50ZigiJWQgIixyb290LT5kYXRhKTsKCQlyb290PXJvb3QtPnJpZ2h0OwoJfQp9CmludCBtYWluKCkKewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJc3RydWN0IG5vZGUqcm9vdD1OVUxMOwoJcm9vdD1jcmVhdGUocm9vdCw1KTsKCXJvb3Q9Y3JlYXRlKHJvb3QsNik7Cglyb290PWNyZWF0ZShyb290LDcpOwoJLy9yb290PWNyZWF0ZShyb290LDgpOwoJLy9yb290PWNyZWF0ZShyb290LDkpOwoJLy9zaG93KHJvb3QpOwoJcHJpbnQocm9vdCwxKTsKfQo=