#include<stdio.h>

struct stack
{
 int top;
 char item[40];
};

char* get()
{
 char input[25];
 printf("\nenter the string:\n");
 scanf("%s",input);
 printf("\n");
 return(input);
}

void push(struct stack*ps,char*n)
{
 ps->top++;
 ps->item[ps->top]=*n;
}

void concatenate(struct stack*ps1, struct stack*ps2)
{
 int i=0;
 ps1->top++;

 for(i=0;i<=ps2->top;i++)
      {
       ps1->item[ps1->top]=ps2->item[i];
       ps1->top++;
      }
}

void print(struct stack*ps1)
{
 int i=0;
 for(i=0;i<ps1->top;i++)
    {
     printf("%c",ps1->item[i]);
    }
}

void main()
{
 struct stack s1,s2;
 char input1[20],input2[20];
 char*p1,*p2;
 char ans;
 s1.top=-1;
 s2.top=-1;

 p1=get();
 while(*p1!='\0')
      {
       push(&s1,p1);
       p1++;
      }

 p2=get();
 while(*p2!='\0')
    {
     push(&s2,p2);
     p2++;
    }

 concatenate(&s1,&s2);
 print(&s1);
 scanf("%c",&ans);
 getchar();
}




