#include<stdio.h>
#include<stdlib.h>
struct Node
{
int data;
struct Node* next;
};
typedef struct Node node;
node* head=NULL;
void
insert(int x,int t)
{
node* temp;
temp=(node*)malloc(sizeof(node));
temp->data=x;
temp->next=NULL;
if(t==1)
{
temp->next=head;
head=temp;
return;
}
node* temp1;
temp1=head;
int m;
m=1;
while(temp1!=NULL && m<t-1)
{
temp1=temp1->next;
m++;
}
if(m==t-1 && temp1!=NULL ){
temp->next=temp1->next;
temp1->next=temp;
}
else
printf("INVALID OPERATION\n");
}
void
print()
{
node* temp=head;
while(temp!=NULL)
{
printf("%d\n",temp->data);
temp=temp->next;
}
}
int main()
{
int x,j,t,l;
int i=0;
while(i<1)
{
scanf("%d%d",&x,&t);
insert(x,t);
//cout<<"do you want to insert more press 1 for yes and 2 for no";
scanf("%d",&l);
if(l==1)
i=0;
else
i=2;
}
print();
return 0;
}
ICAgICNpbmNsdWRlPHN0ZGlvLmg+CiAgICAjaW5jbHVkZTxzdGRsaWIuaD4KICAgCiAgICBzdHJ1Y3QgTm9kZQogICAgewogICAgCWludCBkYXRhOwogICAgCXN0cnVjdCBOb2RlKiBuZXh0OwogICAgfTsKICAgIHR5cGVkZWYgc3RydWN0IE5vZGUgbm9kZTsKCiAgICBub2RlKiBoZWFkPU5VTEw7CgogICAgdm9pZCAKICAgIGluc2VydChpbnQgeCxpbnQgdCkKICAgIHsKICAgIAlub2RlKiB0ZW1wOwogICAgCXRlbXA9KG5vZGUqKW1hbGxvYyhzaXplb2Yobm9kZSkpOwogICAgCXRlbXAtPmRhdGE9eDsKICAgIAl0ZW1wLT5uZXh0PU5VTEw7CiAgICAJaWYodD09MSkKICAgIAl7CiAgICAJCXRlbXAtPm5leHQ9aGVhZDsKICAgIAkJaGVhZD10ZW1wOwogICAgCQlyZXR1cm47CiAgICAJfQogICAgCW5vZGUqIHRlbXAxOwogICAgCXRlbXAxPWhlYWQ7CiAgICAJaW50IG07CiAgICAJbT0xOwogICAgCXdoaWxlKHRlbXAxIT1OVUxMICYmIG08dC0xKQogICAgCXsKICAgIAkJdGVtcDE9dGVtcDEtPm5leHQ7CiAgICAJCW0rKzsKCQkKICAgIAl9CiAgICAJaWYobT09dC0xICYmIHRlbXAxIT1OVUxMICl7CgkJdGVtcC0+bmV4dD10ZW1wMS0+bmV4dDsKCQl0ZW1wMS0+bmV4dD10ZW1wOwoJfQoJZWxzZQoJCXByaW50ZigiSU5WQUxJRCBPUEVSQVRJT05cbiIpOwogICAgfQoKICAgIHZvaWQgCiAgICBwcmludCgpCiAgICB7CiAgICAJbm9kZSogdGVtcD1oZWFkOwogICAgCXdoaWxlKHRlbXAhPU5VTEwpCiAgICAJewogICAgCQlwcmludGYoIiVkXG4iLHRlbXAtPmRhdGEpOwogICAgCQl0ZW1wPXRlbXAtPm5leHQ7CiAgICAJfQogICAgfQoKICAgIGludCBtYWluKCkKICAgIHsKICAgIAlpbnQgeCxqLHQsbDsgICAgIAogICAgCWludCBpPTA7CiAgICAJd2hpbGUoaTwxKQogICAgCXsKICAgIAkJc2NhbmYoIiVkJWQiLCZ4LCZ0KTsKICAgIAkJaW5zZXJ0KHgsdCk7CiAgICAJCS8vY291dDw8ImRvIHlvdSB3YW50IHRvIGluc2VydCBtb3JlIHByZXNzIDEgZm9yIHllcyBhbmQgMiBmb3Igbm8iOwogICAgCQlzY2FuZigiJWQiLCZsKTsKICAgIAkJaWYobD09MSkKICAgIAkJCWk9MDsKCQllbHNlCgkJCWk9MjsJCiAgICAJfQogICAgCXByaW50KCk7CiAgICAJcmV0dXJuIDA7CiAgICB9