#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
char *ch;
int length;
}str;
int i,j;
char a[200],b[200];
void strassign(str &t,char *s)
{
char *c;
if(t.ch)
{
t.ch=NULL;
}
c=s;
i=0;
while(*c!='\0')
{
++i;
++c;
}
if(!i)
{
t.ch=NULL;
t.length=0;
}
else
{
if(!(t.ch=(char *)malloc(i*sizeof(char))))
{
exit(-1);
}
for(j=0;j<i;j++)
{
t.ch[j]=s[j];
}
t.length=i;
}
}
void concat(str &t,str &s1,str &s2)
{
t.ch=(char *)malloc(t.length*sizeof(char));
for(i=0;i<s1.length;i++)
{
t.ch[i]=s1.ch[i];
}
int k=0;
for(j=i;s2.ch[k]!='\0';j++)
{
t.ch[j]=s2.ch[k++];
}
for(i=0;i<t.length;i++)
{
printf("%c",t.ch[i]);
}
printf("\n");
}
int main()
{
int length;
str chuan,chuan1,news;
while(~scanf("%s",a))
{
strassign(chuan,&a[0]);
scanf("%s",b);
strassign(chuan1,&b[0]);
length=chuan1.length+chuan.length;
news.length=length;
concat(news,chuan,chuan1);
}
}
#include<stdlib.h>
#include<string.h>
typedef struct
{
char *ch;
int length;
}str;
int i,j;
char a[200],b[200];
void strassign(str &t,char *s)
{
char *c;
if(t.ch)
{
t.ch=NULL;
}
c=s;
i=0;
while(*c!='\0')
{
++i;
++c;
}
if(!i)
{
t.ch=NULL;
t.length=0;
}
else
{
if(!(t.ch=(char *)malloc(i*sizeof(char))))
{
exit(-1);
}
for(j=0;j<i;j++)
{
t.ch[j]=s[j];
}
t.length=i;
}
}
void concat(str &t,str &s1,str &s2)
{
t.ch=(char *)malloc(t.length*sizeof(char));
for(i=0;i<s1.length;i++)
{
t.ch[i]=s1.ch[i];
}
int k=0;
for(j=i;s2.ch[k]!='\0';j++)
{
t.ch[j]=s2.ch[k++];
}
for(i=0;i<t.length;i++)
{
printf("%c",t.ch[i]);
}
printf("\n");
}
int main()
{
int length;
str chuan,chuan1,news;
while(~scanf("%s",a))
{
strassign(chuan,&a[0]);
scanf("%s",b);
strassign(chuan1,&b[0]);
length=chuan1.length+chuan.length;
news.length=length;
concat(news,chuan,chuan1);
}
}