semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
	char str[][50]={'\0'};
	int a,b;
	int i=0,j;
a=1;b=1;
a=a*b;
	while(scanf("%s",str[i])!=EOF)
	{
		i++;
	}
	for (j=i-1;j>=1;j--)
		printf("%s ",str[j]);
	printf("%s",str[0]);
}
/*
 * 12.11.10d.cpp
 *  Created on: 2012-11-10
 *  Author: ???
 *  ???????
 */
int main(){
	int i,j,k,blen;
	char a[100][100],b[10000];
	cin.getline(b,10000);
	blen=strlen(b);
	for(i=0,j=0,k=0;i<blen;++i){
		if(b[i]==' '){
			++j;k=0;continue;
		}
		else{
			a[j][k]=b[i];
			++k;
		}
	}
	cout<<a[j];
	for(i=j-1;i>=0;--i){
		cout<<' '<<a[i];
	}
	return 0;
}
void main()
{
	char c[100];
	char a[100][100];
	int i,k,j,n,m=-1;
	gets(c);
	n=strlen(c);
	int b=n;
	for(i=n-1;i<n&&i>=0;i--)
	{
		if(c[i]==' ')
		{
			m=m+1;
		for(j=0;j<b-i-1;j++)
		{
			a[m][j]=c[i+1+j];
			
		}
        a[m][j]='\0';
		printf("%s ",a[m]);
		b=i;
		}
	}
	for(j=0;j<b;j++)
		a[m+1][j]=c[j];
	printf("%s",a[m+1]);
}
int main()
{
	char a[100];
	int b[100];
	int i,j,k;
	gets(a);
    j=0;
	for(i=0;;i++)
	{
		if(a[i]==' ')
		{
			b[j]=i;
			j++;
		}
		if(a[i]=='\0')
		{
			b[j]=i;
			break;
		}
	}
	//for(i=0;i<=j;i++)
		//printf("%d\n",j);
    for(i=j;i>0;i--)
	{
		for(k=b[i-1]+1;k<b[i];k++)
		{
			printf("%c",a[k]);
            
		}
		printf(" ");
	}
	for(i=0;i<b[0];i++)
		printf("%c",a[i]);
	return 0;
}
/*
 * 12.11.10b.cpp
 *  Created on: 2012-11-10
 *  Author: ???
 *  ??????????
 */
int main() {
	int n, i, j, k, blen;//n??????-1
	char b[1000], a[100][100];//b????????????a????
	cin.getline(b, 1000);//??????
	blen = strlen(b);//????????
	for (i = 0, j = 0, k = 0; i < blen; ++i) {//?a??
		if (b[i] != ' ') {//?????
			a[j][k] = b[i];//???a
			++k;
		} else if (b[i] == ' ' && b[i + 1] == ' ')//?????????????????
			continue;
		else {//????????
			++j;k=0;//?????????1
			continue;
		}
	}
	n = j;//n??????-1
	cout<<a[n];//???????
	for(i=n-1;i>=0;--i){//???????
		cout<<' '<<a[i];
	}
	return 0;
}
void main()
{
	char str1[100],str2[101]={" "},str3[101]={"\0"};
	int i,n,p=1,j,q=0,m;
	int a[100];
	char c;
	gets(str1);
	strcat(str2,str1);
	n=strlen(str2);
	for(i=n-1;i>=0;i--)
	{
		if((c=str2[i])==' ')
		{
			a[p]=i;
			p=p+1;
		}
		else
			continue;
	}
	a[0]=n;
	for(i=0;i<p-1;i++)
		for(j=a[i+1];j<a[i];j++)
		{
			str3[q]=str2[j];
			q=q+1;
		}
	m=strlen(str3);
	for(i=1;i<m;i++)
		printf("%c",str3[i]);
}
int main()
{
	char input[110],a[100][100];
	gets(input);
	int i,len,b=1,j,c=0,d=0;
	len=strlen(input);
	for(i=0;i<len;i++)
	{
		if(input[i]==' ')
			b++;
	}
	for(j=0;j<b;j++)
	{
		for(i=c;i<len;i++)
		{
			if(input[i]==' ')break;
			a[j][d]=input[i];
			d++;
		}
		a[j][d]='\0';
		d=0;
		c=i+1;
	}
	for(j=b-1;j>0;j--)
	{
		printf("%s ",a[j]);
	}
	printf("%s",a[0]);
	return 0;
}
int main()
{
    int i=0,j=0,flag,len;
    char s[100];
    char temp[100];
    
    gets(s);
    flag=strlen(s);
    
    for(i=strlen(s)-1;i>=0;i--)
     if(s[i]==' ')
      {
      len=flag-i;
      for(j=i+1;j<flag;j++)
      printf("%c",s[j]);
      printf(" ");
      flag=i;
      }
    for(j=0;j<flag;j++)
    printf("%c",s[j]);
}
void main()
{
	char a[100];
	int i,n=0,t=0,j=0;
	gets(a);
	for (i=0;a[i]!='\0';i++) n=n+1;
	for (i=n-1;i>=0;i--)
	{
		if (a[i]==' ')
		{	
			for(j=i+1;a[j]!=' '&&a[j]!='\0';j++) printf("%c",a[j]); printf(" ");
		}
	}
	for (i=0;a[i]!=' '&&a[i]!='\0';i++) printf("%c",a[i]);
}
void main()
{
	char s[100],a[100][30];
	int i,j,k;
	gets(s);
	for(i=0,j=0,k=0;i<100&&s[i]!=0;i++)
	{
		if(s[i]==' ')
		{
			a[j][k]=0;
			j++;
			k=0;
		}
		else
		{
			a[j][k]=s[i];
			k++;
		}
		a[j][k]=0;
	}
	for(i=j;i>0;i--)
	{
		for(k=0;k<30&&a[i][k]!=0;k++)
		{
			printf("%c",a[i][k]);
		}
		printf(" ");
	}
	for(k=0;k<30&&a[0][k]!=0;k++)
	{
		printf("%c",a[0][k]);
	}
}
void main()
{
	char a[100],b[100][100];
	int i,j,k,l;
	gets(a);
	k=strlen(a);
	j=0;
	l=0;
	for(i=0;i<k;i++)
	{
		if(a[i]==' ')
		{
			b[j][l+1]='\0';
			j++;
			l=0;
			continue;
			
		}
		else
		{
			b[j][l]=a[i];
		}
		l++;
	}
	b[j][l]='\0';
	printf("%s",b[j]);
	for(i=j-1;i>=0;i--)
	{
		printf(" %s",b[i]);
	}

}
int main()
{
	char a[100][100]={'\0'},b;
	int i1=0,i2=0;
	while (cin.get(b)&&b!='\n')
	{
		if (b!=32)
			a[i1][i2++]=b;//????
		else if (b==32)
			i1++,i2=0;//???????
	}
	for (int d=i1;d>=1;d--)
        cout<<a[d]<<" ";//????
	cout<<a[0];
	return 0;
}
void main()
{
	char str1[100],*p,*q,*a;
	int n;
	gets(str1);
	n=strlen(str1);
    a=q=p=str1+n-1;
	for(;p>=str1;p--)
	{
		if(*p==' ')
		{a=p-1;
		for(p=p+1;p<=q;p++)
		printf("%c",*p);
		printf(" ");
		p=q=a;}
          }
	for(p=str1;p<=q;p++)
	printf("%c",*p);
}
void main()
{
	char str[100];
	char word[50][100]={'\0'};
	int i,j,k,a,h,u;
	h=0;
	a=0;
	u=0;
	gets(str);
	for(i=0;i<100;i++)
	{
		if (str[i]==' ')
		{a++;}
		if (str[i]=='\0')
		{k=i;break;}
	}
		for(j=0;j<k;j++)
		{
			if(str[j]==' ')
			{h++;u=0;}
			else
			{
			word[h][u]=str[j];
			u=u+1;
			}
		}
	for(i=a;i>0;i=i-1)
	{printf("%s ",word[i]);}
	printf("%s",word[0]);
}
int main(){
	char temp[100];
	int i=0,k,left[100],right[100],space=0;
	cin.getline(temp,100);
	left[0]=0;
	for(k=0;k<=strlen(temp);k++)
	{
		if((temp[k]==' ')||(temp[k]=='\0')){
			space++;
			right[i]=k-1;
			i++;
			left[i]=k+1;
		}
	}
	for(i=space-1;i>=0;i--)
	{	if(i!=space-1) cout<<' ';
		for(k=left[i];k<=right[i];k++)
			cout<<temp[k];
	}
}
/*
 * ReverseOfWords.cpp
 *
 *  Created on: 2012-11-10
 *      Author: Cui Zhaoxiong Class4 1200012931
 */
int main(){
	char ipt[110];//??????????
	cin.getline(ipt,110);//??
	char w[100][50];//?????????????
	memset(w,0,sizeof(w));//??
	int stofwd=0,nbofwd=0;//stofwd????????????????nbofwd??????
	for (int i=0;ipt[i]!=0;i++){//????????w
		if (ipt[i]!=' '){
			w[nbofwd][i-stofwd]=ipt[i];
		}
		if (ipt[i]==' '){
			nbofwd++;
			stofwd=i+1;
		}
	}
	for (int j=0;w[nbofwd][j]!=0;j++) cout <<w[nbofwd][j];//?????????
	for (int i=1;i<=nbofwd;i++){//????????
		cout <<' ';
		for (int j=0;w[nbofwd-i][j]!=0;j++){
			cout <<w[nbofwd-i][j];
		}
	}
	return 0;
}
int main()
{
	char s[15000],word[300][50];
	cin.getline(s,50000);

	int i=0,j=0,k=0,num=0;

	int len=strlen(s);
	for(i=0;i<len;i++)
		if(s[i]==' ')
			num++;

	for(i=0;i<len;i++)
	{
		if(s[i]!=' ')
		{
			word[j][k]=s[i];
			k++;
		}
		else if(s[i]==' ')
		{
			j++;
			k=0;
		}
	}
	cout<<word[num];
	for(i=num-1;i>=0;i--)
		cout<<" "<<word[i];
}
void main()
{
	char str1[100],*start,*space,*pri;
	gets(str1);
	start=str1-1;
	for(space=str1+strlen(str1)-1;space>=start;space--)
	{
		if(*space==' ')
		{
			for(pri=space+1;(*pri!=' ')&&(pri!=str1+strlen(str1));pri++)
			{
			   printf("%c",*pri);
			}
			printf(" ");
		}
		if(space==start)
        {
			for(pri=space+1;(*pri!=' ')&&(pri!=str1+strlen(str1));pri++)
			{
			   printf("%c",*pri);
			}
		}
	}
}
void main()
{
	char a[100],*p,*q,*r;
	int i,n;
	gets(a);
	n=strlen(a);
	for(p=a;p<a+n-1;p++);
	q=p;
	for(i=0;i<n;i++)
	{
		if(*--p==' ') 
		{
			r=p;
			for(;p<q;)
				printf("%c",*++p);
			printf(" ");
			p=r;
			q=p-1;
		}
	}
	for(p=a;p<q+1;p++)
		printf("%c",*p);
}
main()
{
	char a[100],*b,c=1;
	int i,j,n;
	gets(a);
	n=strlen(a);
	//printf("%d",n);
	char *p=&a[n-1],*q=&a[n-1];
	//printf("%c""%c",*p,*q);

	for(i=0;i<=n-1,a[i]!='\0';i++)
	{
		if(a[i]==' ') c=c+1;
	}
	//printf("%d",c);
	if(c!=1)
	{for(;p>=&a[0];p--)
		{
			if(*p==' ')
			{
				b=p;
				for(;p<=q;p++)
				{
				if(*p!=' ') printf("%c",*p);
				}
				printf(" ");
				p=b-1;
				q=b-1;
			}
		}
		for(p=&a[0];*p!=' ';p++)
		{
			printf("%c",*p);
		}
	}
	else puts(a);
}
void main()
{
	int n=0,i,l;
	char t,word[101],*p;
	gets(word);
	l=strlen(word);
	word[l]='\0';
	for(i=0;i<l;i++)
		if(word[i]==' ')
			word[i]='\0';
	p=word+l-1;
	while(p!=word)
	{
		if(*p=='\0')
		{
			printf("%s ",p+1);
		}
		p--;
	}
	printf("%s\n",p);
}
int main()
{
	int a[100]={0},i,j=1,m,n;
	char ch[100]={'\0'};
	for(i=1;i<100;i++)
	{
		ch[i]=cin.get();
		if(ch[i]==' ')
		{
			a[j]=i;
			j++;
		}
		if(ch[i]=='\n')
		{
			a[j]=i;
			m=i;
			n=j;
			break;
		}
	}
	for(j=n-1;j>=0;j--)
	{
		for(i=a[j]+1;i<a[j+1];i++)
			cout<<ch[i];
		if(j!=0)
			cout<<" ";
	}
	return 0;
}
char swap(char str[100])
{
    int n,i,j;
    n=strlen(str);
    for(i=n-1;i>=0;i--)
    if(str[i]==' ') break;
    for(j=i+1;j<n;j++) printf("%c",str[j]);
    if(i>0)
    {
    printf(" ");
    str[i]='\0';
    swap(str);
    }
}
int main()
{
    char str[101];
    gets(str);
    swap(str);
}
void main()
{
	char a[20][10];
	char (*p)[10];
	int i,j,l;
	p=a;
	for(i=0;;i++)
	{
		if(scanf("%s",p+i)==EOF)break;		
	}
	for(l=i-1;l>0;l--)
	{
		printf("%s ",*(p+l));
	}
	printf("%s",*(p+l));
}
int main()
{
	int i,j,k,n,s=0,d=0;
	char words[101];
	cin.getline(words,101);
	j=0;
	for(n=0;words[n]!='\0';n++) ;
	//cout<<n<<endl;
	//cout<<words[13]<<endl;
	for(i=n-1;i>=0;i--)
	{
		if(words[i]==32)
		{
			for(k=i+1;k<=i+j;k++)
			{
				cout<<words[k];
			}
			if(d==0)
			{
				cout<<" ";
				d=1;
			}
			s=1;
			j=0;
		}
		if(i==0)
		{
			if(s==1)
			{
			for(k=i;k<=j-1;k++) cout<<words[k];
			}
			if(s==0)
			{
				cout<<words;
			}
		}
		j++;
	}
	return 0;
}
int main()
{
	char a[100];
	int b[100];
	gets(a);
	int i,l=0,j,strl,k,m,n;
	for(i=0;a[i]!='\0';i++)
	{
		if(a[i]==' ')
		{
			l=l+1;
			b[l]=i;
		}
	}
	strl=strlen(a);
	if(l==0)puts(a);
	 /* ????????i==strl??l==0 */
	else
	{
	for(m=b[l]+1;m<strl;m++)
		printf("%c",a[m]);
	for(j=l;j>1;j--)
	{
		for(k=b[j-1];k<b[j];k++)
			printf("%c",a[k]);
	}
	printf(" ");
	for(n=0;n<b[1];n++)
		printf("%c",a[n]);
	}
	return 0;
}
void main()
{
	char str[100],word[100][100]={'\0'};
	int i,j,k=0,a[100]={0},l;
	gets(str);
	l=strlen(str);
	for(i=0;i<l;i++)
	{
		if (str[i]!=32)
		{
			word[k][a[k]]=str[i];
			a[k]++;
		}
		else k++;
	}
	for(i=k;i>0;i--)
		printf("%s ",word[i]);
	printf("%s",word[0]);
}
int main()
{
	char a[101];
	cin.getline(a,100);
	int l=0;
	l=strlen(a);

	a[l]=' ';
	int n[51]={0},k=1;
	for(int i=0;i<l;i++)
	{
		if(a[i]==' ')
			{n[k]=i;
		k++;}
	}

	n[k]=l;
	n[0]=-1;
	for(int i=k;i>1;i--)
		for(int j=n[i-1]+1;j<=n[i];j++)
		{
			cout<<a[j];

		}
	for(int j=0;j<n[1];j++)
		cout<<a[j];
	return 0;
}
//???????????????a[100]??????????c[100]??????
//????????a[i]?i?????c[100]???????????????????
//?b[100],??b[100]????????????????????????????
//????????????
int main()
{	
	char a[100],b[100],c;
	int p[100],k = 1,i,j=1,n,m,d;
	gets(a);
	p[0] = 0;
	for (i=0;(c=a[i])!='\0';i++)
	{
		if(c==' ')
		{
			k=0;
		}
		else if(k==0)
		{
			p[j]=i;
			j++;
			k=1;
		}
	}
	p[j] = i + 1;
	a[i] = ' ';
	for(d=0;d<j;d++)
	{
		for (m=p[d];m<p[d+1];m++)
		{
			b[i -  p[d + 1] + 1 + m - p[d]]=a[m];
		}
	}
	b[i] = 0;
	puts(b);
	return 0;
}
void main()
{
	char str[100],a[100][100]={0};
	int k=0,j=0,i;
	gets(str);
	for(i=0;str[i]!='\0';i++)
	{
		if(str[i]!=' ')
		{
			a[j][k]=str[i];
			k++;
		}
		else
		{
			j=j+1;
			k=0;
		}
	}
	for (i=j;i>=0;i--)
	{
		printf("%s",a[i]);
		if(i==0)break;
		printf(" ");
	}
}
int main()
{  char a[100][30]={0};                           //?????????? 
   int i=0;
   int j=0;
   char b;
   while(1)
   {  cin.get(b);
      if(b=='\n') break;                          //???????? 
      else  
        {  if(b==' ')       
              {    i=i+1;
                   j=0;
                   continue;                     //?????????? 
              }
           else                                  //???????? 
             {  a[i][j]=b;
                j=j+1;
             }
        }
      
      
   }
  for(j=i;j>0;j--)
      {  cout<<a[j]<<' ';                     //?? 
      }
   cout<<a[0];
   return 0;
}
void main()
{ char a[100][20],s;
  int n=0,i,t=0;

  do
  { scanf("%s",a[n]);
  n++;}
  while((s=getchar())!='\n');

  for(i=n-1;i>=0;i--)
  {  if(t>0) printf(" ");
      printf("%s",a[i]);
	  t++;}
	  
}
int main()
{
   char str[5000],a[100][50];
   int i,n,k=0,j=0;
   gets(str);
   n=strlen(str);
   for(i=0;i<n;i++)
  {
     if(str[i]!=' ')
    {
       a[k][j]=str[i];
       j++;
     }
     if(str[i]==' '&&str[i+1]!=' ')
    {
       k++;
       j=0;
     }
   }
   k++;
  printf("%s",a[k-1]);
  for(i=k-2;i>=0;i--)
  {
      printf(" %s",a[i]);
  }
  return 0;
}
int main()
{
	char c[100];
	int i,j,k;
	cin.getline(c,100);
	k=strlen(c)-1;
	for(i=strlen(c)-1;i>=0;--i)
	{
		if(c[i]==' ') 
		{
			for(j=i+1;j<=k;++j)
			{
				cout<<c[j];
			}
			k=i-1;
			cout<<" ";
		}
	}
	for(i=0;i<=k;++i)
	{
		if(c[i]==' ')
			break;
		else cout<<c[i];
	}
		

	return 0;
}
void main()
{
char str2[100],str[100],str1[100];
int m=0,i,k,n=0,str_len;
gets(str2);   /*??????????????*/
str[0]=' ';
str[1]='\0';   //??????\0
strcat(str,str2);
k=strlen(str);
str_len=k;
char *p,*q;
q=str1;
p=str+k-1;    /*p?????????*/

while(1)
{

for(;*p!=' ';p--)
m++;  /*??????p??????m????*/
for(i=0;i<m;i++,q++)
*q=*(p+i+1);           /*?????????str1*/
*q=' ';                /*?????*/
q++;                   /*q?????*/
n=n+m+1;                 /*n?k???????????????*/
k=str_len-n;             //???????????????????k??
if(p==str)break;       /*??????*/
else
{
p=str+k-1;            /* ????????m???p???*/
m=0;
}

}
k=strlen(str);        /*k?q?????*/
q=str1;
*(q+k-1)='\0';          /*??????????'\0'???*/
puts(str1);           /*?????*/
}
int main()
{ 
  int num[100]={0};
  int i,j,len,count;  
  char in[101]={0},ans[100]={0};
  char c;
  count=0;
  len=0;
  cin.get(in,100);
  len=strlen(in);
  for (i=len-1;i>=0;i--)
    {
      if (in[i]!=' ')
        {
          ans[count]=in[i];
          count=count+1;         
        }               
      if (in[i]==' ')
        {
          for (j=count-1;j>=0;j--) 
            cout<<ans[j];
          cout<<" ";
          count=0;          //?????????????????????????????
        }
      }
  for (i=count-1;i>=0;i--)
    cout<<ans[i];  //?????????
    return 0;     
}
void main()
{
	int a,b,c,d=0,e=0,g,f,m,n=0,t[50];
	char s[101],p[50][101],q;
	gets(s);
	a=0;
	c=strlen(s);
	for(b=0;b<c;b++)
	{if(s[b]==' ')
	{t[a]=d;a++;d=0;}
	else{p[a][d]=s[b];d++;}
	}t[a]=d;
	for(f=a;f>0;f--)
	{for(g=0;g<t[f];g++)
		printf("%c",p[f][g]);
	printf(" ");
	}for(g=0;g<t[f];g++)
		printf("%c",p[0][g]);
}
int main()
{
	char str1[105];//???????????
	int len,word[105]={0},w=1,dcgs,a;
	cin.getline(str1,101,'\n');//?????
	len=strlen(str1)-1;//????????
	for(int i=0;i<=len;i++)//??????????????????????
	{
		if(str1[i]!=' ')
			word[w]=word[w]+1;
		else
			w=w+1;
		dcgs=w;
	}
	int p=len;
	for(int i=dcgs;i>=2;i--)//???????
	{
		for(int j=p-word[i]+1;j<=p;j++)
			cout<<str1[j];
		p=p-word[i]-1;
		cout<<" ";
	}
	for(int j=0;j<=word[1]-1;j++)
		cout<<str1[j];
	return 0;
}
void main()
{
	char s[100],*p;
	int i,j,l;
	gets(s);
	l=strlen(s);
	for(i=l-1;i>=0;i--)
		s[i+1]=s[i];
	s[0]=s[l+1]=' ';
	p=s;

	for(i=l;i>=0;i--)
		if(*(p+i)==' ')
		{
			for(j=i+1;*(p+j)!=' ';j++)
				printf("%c",*(p+j));
			if(i!='\0')
				printf(" ");
		}

		
}
void main()
{
	char a[100],*p,b[100][100]={'\0'},(*q)[100];
	int i=0,j=0,n;
	gets(a);
	q=b;
	for(p=a;*p!='\0';p++)
	{
		if(*p!=' ')
		{
			*(*(q+i)+j)=*p;
			j++;
		}
		else
		{
			i++;
			j=0;
		}
	}
	n=i;
	for(i=n;i>0;i--)
	{
		for(j=0;*(*(q+i)+j)!='\0';j++)
		    printf("%c",*(*(q+i)+j));
        printf(" ");
	}
	for(j=0;*(*q+j)!='\0';j++)
	    printf("%c",*(*q+j));
	printf("\n");
}
void main()
{
char a[20][20];
int i=0,j;
while(scanf("%s",a[i])!=EOF)
i++;
printf("%s",a[i-1]);
for(j=i-2;j>=0;j--)
printf(" %s",a[j]);





}
int main()
{
	char a[5000];
	cin.getline(a,5000);
	int i=0,j=0,m;
	m=strlen(a);
	for(i=m-1;i>=0;i--)
	{
		if (a[i]==' ')
		{
			j=i+1;
			while((a[j]!=' ')&&(j<m))
			{
				cout<<a[j];
				j++;
			}
			cout<<" ";
		}
		if (i==0)
		{
					j=i;
					while((a[j]!=' ')&&(j<m))
					{
						cout<<a[j];
						j++;
					}

				}
	}

	return 0;
}
main()
{
	char s[101],t[100][100];
	int i=0,j=0,k=0;
	gets(s);
	while(s[i]!='\0')
	{
		if(s[i]!=' ')
		{
			t[j][k]=s[i];
			k++;
			i++;
		}
		else
		{
			j++;
			k=0;
			i++;
		}
	}
	for(i=j;i>0;i--)
	printf("%s ",t[i]);
	printf("%s",t[0]);
}
main()
{
  char *p,s[200],l,i;
  p=s;
  gets(p);
  l=strlen(p);
  for(i=l+1;i>=0;i--)
  { 
	  if(*(p+i)==' ')
	  {printf("%s ",p+i+1);
	  *(p+i)='\0';}
  
  }
  printf("%s",p);

}
int main()
{
	char str[100][110];
	int lon[100]={0};
	int n=0,i,j;
	char c;
	do
	{
		cin.get(c);
		if ((c>='A')&&(c<='z'))
		{
			str[n][lon[n]]=c;
			lon[n]++;
		}
		if (c==' ') n++;
	} while (c!='\n');
	for (i=n;i>=0;i--)
	{
		for (j=0;j<lon[i];j++)
			cout<<str[i][j];
		if (i>0) cout<<' ';
		else cout<<endl;
	}
	return 0;
}
int main(int argc, char* argv[])
{
	char w[1000],ws[50][20]={0};
	int i,j=0,k=0;
    gets(w);
    int len=strlen(w);
	for(i=0;i<len;i++){
		if(w[i]!=' '){
			ws[j][k]=w[i];
			k++;
		}
		else if(w[i]==' '){
			j++;
			k=0;
		}
	}
	int min=strlen(ws[0]),max=strlen(ws[0]);
	int minw=0,maxw=0;
	for(i=1;i<=j;i++){
		if(min>strlen(ws[i])){
			min=strlen(ws[i]);
			minw=i;
		}
		if(max<strlen(ws[i])){
			max=strlen(ws[i]);
			maxw=i;
		}
	}
	printf("%s\n",ws[maxw]);
	printf("%s\n",ws[minw]);
	return 0;
}
void main()
{
	char *p1,*p2,*p3,*p4,*p5;
	int n,m=0,a=0,b=10000,i;
	char s[1000];
	gets(s);
	n=strlen(s);
	s[n]=' ';
    for(p1=s;p1<(s+n+1);p1++)
	{
		if(*p1!=' ') m=m+1;
		if(*p1==' '||p1==(s+n)) 
		{
			if(m>a) {a=m;p2=p1;}
			if(m<b) {b=m;p3=p1;}
			m=0;
		}
	}
	for(p4=(p2-a);p4<p2;p4++)
	printf("%c",*p4);
	printf("\n");
	for(p5=(p3-b);p5<p3;p5++)
	printf("%c",*p5);
	
}
int main()
{
	struct word{
		char a[50];
	}words[50];
	int i,j;int e[50];
	char f[2600];
	gets(f);
	char *o;
	o=f;
	for(;*o!='\0';o++)
	{
		if(*o==' ')
		{j++;}
	}
    j=j+1;
	char *p=f;
	char *q;
    for(i=0;i<j;i++)
	{
		q=words[i].a;
		for(;*p!=' '&&*p!='\0';p++,q++)
		{
			*q=*p;
		}
		*q='\0';
		if(*p!='\0'){p++;}
		else {break;}
	}
	for(i=0;i<j;i++)
	{
		e[i]=strlen(words[i].a);
	}
	int c=0;int d=50;
	for(i=0;i<j;i++)
	{
		if(e[i]>c)
		{c=e[i];}
		if(e[i]<d)
		{d=e[i];}
	}
	for(i=0;i<j;i++)
	{
		if(e[i]==c)
		{printf("%s\n",words[i].a);break;}
	}
	for(i=0;i<j;i++)
	{
		if(e[i]==d)
		{printf("%s\n",words[i].a);break;}
	}
	return 0;
}
void main()
{
	int m=0,n=10000,l;
	char *max,*min,*s,b;
	max=(char *)malloc(100*sizeof(char));
	min=(char *)malloc(100*sizeof(char));
	s=(char *)malloc(100*sizeof(char));
	for (;;)
	{
		scanf("%s",s);
		l=strlen(s);
		if (l<n) 
		{
			strcpy(min,s);
			n=l;
		}
		if (l>m) 
		{
			strcpy(max,s);
			m=l;
		}
		b=getchar();
		if (b!=' ') break;
	}
	printf("%s\n%s\n",max,min);
}
void main()
{
	int i,p1,p2,l1=0,l2=0,t=1,a1=0,a2=10;
	char n[100],s[200]={" "};
	gets(n);
    for(i=0;n[i]!='\0';i++)
	{
		 if(t==1&&n[i]!=' ') l2++;
	     if(t==1&&n[i]==' ')
		 {
			 t=0;
			 if(l2<a2) {a2=l2;p2=i;}
			 l2=0;
		 }
		 if(n[i+1]=='\0'&&l2<a2) {a2=l2+1;p2=i+1;}
		 if(t==0&&n[i]!=' ') {t=1;l2++;}
	}
    strcat(s,n);t=0;
	for(i=0;s[i]!='\0';i++)
	{
         if(t==0&&s[i]==' ') l1=0;
		 if(t==0&&s[i]!=' ') 
		 {
			 t=1;
			 l1++;
		 }
		 if(t==1&&s[i]!=' ') l1++;
		 if(t==1&&s[i]==' ')
		 {
			 t=0;
			 if(l1>a1) {a1=l1;p1=i;}
			 l1=0;
		 }
		 if(t==1&&s[i+1]=='\0'&&(l1+1)>a1) {a1=l1;p1=i+1;}
	}
	for(i=(p1-a1+1);i<p1;i++) printf("%c",s[i]);
		printf("\n");
	for(i=(p2-a2);i<p2;i++) printf("%c",n[i]);	
}
void main()
{
int f(char k);
char a[1000];
int i,j,t,p,q,r,max,min,n=0,b[51],c[51];
gets (a);
j=strlen(a);
for (i=0;i<=j;i++)
if (f(a[i])==1&&f(a[i+1])==0)
{
b[n]=i;
n++;
}
c[1]=b[1]-b[0];
c[0]=b[0]+2;
for (t=2;t<n;t++)
c[t]=b[t]-b[t-1];
max=min=c[0];
for (t=0;t<n;t++)
if (c[t]>max)
max=c[t];
for (p=0;p<n;p++)
if (c[p]<min)
min=c[p];
for (r=0;r<n;r++)
if (c[r]==max)
{
t=r;
break;
}
for (q=0;q<n;q++)
if (c[q]==min)
{
p=q;
break;
}
if (max==c[0])
{
for (i=0;i<b[0]+1;i++)
printf("%c",a[i]);
printf("\n");
}
if (max!=c[0])
{
for (i=b[t-1]+2;i<b[t]+1;i++)
printf("%c",a[i]);
printf("\n");
}
if (min==c[0])
{
for (i=0;i<b[0]+1;i++)
printf("%c",a[i]);
}
if (min!=c[0])
{
for (i=b[p-1]+2;i<b[p]+1;i++)
printf("%c",a[i]);
}
}

int f(char k)
{
int e;
if (k>='A'&&k<='Z'||k>='a'&&k<='z') e=1;
else e=0;
return(e);
}
int main()
{
	char zfc[200];
	char a[50][50];
	int ilen,i=0,m=0,k,b,j,c,len[50];
	
	gets(zfc);
	ilen=strlen(zfc);

	for(k=0;k<ilen;k++)
	{
		if(zfc[k]!=' ')
		{
			a[i][m]=zfc[k];
			m++;
		}
		else
		{
			a[i][m]='\0';
			m=0;
			i++;
		}
	}
	a[i][m]='\0';
    for(j=0;j<=i;j++)
	 {
        len[j]=strlen(a[j]);
	}

	 for(b=0,j=1;j<=i;j++)
	 {
        if(len[b]<len[j])
		{
			len[b]=len[j];
			b=j;
		}
	 }
	 len[0]=strlen(a[0]);
	 for(c=0,j=1;j<=i;j++)
	 {
         if(len[c]>len[j])
		{
			len[c]=len[j];
			c=j;
		}
	 }

	 printf("%s\n",a[b]);
     printf("%s\n",a[c]);
	 
	 return 0;
}
int main()
{
    int n,i,l,l0=0,l1=50,p,q;
	char a[200][50];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",a[i]);
	}
	for(i=0;i<n;i++)
	{
		l=strlen(a[i]);
		if(l>l0)
		{
			l0=l;
			p=i;
		}
	    if(l<l1)
		{
			l1=l;
			q=i;
		}
	}
	printf("%s\n",a[p]);
	printf("%s",a[q]);
	return 0;
}
int main()
{
	int i,j;
	char s[100][100],a[100],b[100],c,*p;
	cin>>s[0];
	for(i=1;c=getchar()!='\n';i++)
	{
		cin>>s[i];
	}
	strcpy(a,s[0]);
	a[strlen(s[0])]='\0';
	strcpy(b,s[0]);
	b[strlen(s[0])]='\0';
	for(j=0;j<i;j++)
	{
		p=s[j];
		if(strlen(s[j])>strlen(a))
		{
			strcpy(a,p);
		a[strlen(s[j])]='\0';}
	}
	cout<<a<<endl;
	for(j=0;j<i;j++)
	{
		p=s[j];
		if(strlen(s[j])<strlen(b))
		{
			strcpy(b,p);
		b[strlen(s[j])]='\0';}
	}
	cout<<b<<endl;
return 0;
}
void main()
{
	char a[50][30];
	int i,count,m=0;
	for(i=0;;i++)
		if(scanf("%s",a[i])==EOF)
		{
			count=i;
			break;
		}
	for(i=0;i<count;i++)
		m=max(strlen(a[i]),m);
	for(i=0;i<count;i++)
		if(strlen(a[i])==m)
		{
			printf("%s\n",a[i]);
			break;
		}
	for(i=0;i<count;i++)
		m=min(strlen(a[i]),m);
	for(i=0;i<count;i++)
		if(strlen(a[i])==m)
		{
			printf("%s\n",a[i]);
			break;
		}
	putchar(10);
}
int main()
{
	char a[200][100]={0},cc[1000]={0};
	int i=0,j=0,k=0,max=0,min=100,x=0,y=0,n;
	gets(cc);
	n=strlen(cc);
	cc[n]=' ';
	while(cc[k]!=0)
	{
		while(cc[k]!=' '&&cc[k]!=',')
		{
			a[i][j++]=cc[k++];
		}
		if(j!=0)
		{
			if(max<j){max=j;x=i;}
			if(min>j){min=j;y=i;}
		    j=0;i++;
		}
		k++;
	}

	printf("%s\n%s",a[x],a[y]);
	return 0;
}
int main(){
	char zfc[3000];
	gets(zfc);
	int n=strlen(zfc),w;
	for(w=0;w<=n;w++){
		if(zfc[w]==' '||zfc[w]==','||zfc[w]=='\0'){
			break;
		}
	}
	if(w==n){printf("%s\n%s",zfc,zfc);}
	else{
	  int b,d,k,j;
	  int a=-1,c=-1;
	  b=w;
	  d=w;
	  k=w;
	  int i;
	  for(i=b+1;i<n;i++){
		if((zfc[i]==' '||zfc[i]==',')&&zfc[i+1]!=' '&&zfc[i+1]!=','){
			j=k;
			k=i;
			if(k-j>b-a){
				a=j;
				b=k;
			}
			else{
			   if(k-j<d-c){
				c=j;
				d=k;
			   }
			}
		}
	  }
	 if(n-k>b-a){a=k;b=n;}
	 if(n-k<d-c){c=k;d=n;}
	 int p,q;
	 for(p=a+1;p<b-1;p++){
		printf("%c",zfc[p]);
	 }
	 printf("%c\n",zfc[b-1]);
	 for(q=c+1;q<d;q++){
		printf("%c",zfc[q]);
	 }
	}
	return 0;
}
int main()
{
  char c[500];
  gets(c);
  int word[500];
  char a[500][100];
  int i,k=0,m=0;
  word[0]=0;
  for(i=0;c[i]!='\0';i++)
  {
	  if(c[i]!=' '&&c[i]!=',') 
	  {
		  word[k]++;
		  a[k][m]=c[i];
		  m++;
	  }
	  else if(c[i]==' '||c[i]==',') 
	  {k++;m=0;word[k]=0;}
	  
  }

int MAX=0,MIN=0;
int max=word[0];
int min=word[0];
  for(i=1;i<=k;i++)
  {
	  
     
	 if(word[i]>max) {max=word[i];MAX=i;}
	 
  }
  for(i=1;i<=k;i++)
  {
     
	 if(word[i]<min&&word[i]>0) {min=word[i];MIN=i;}
  }
  
  
for(i=0;i<max;i++)
printf("%c",a[MAX][i]);
printf("\n");

for(i=0;i<min;i++)
printf("%c",a[MIN][i]);

  
  
  return 0;
}
int main()
{
	int i,j,min,max,k,l,n,a[200];
	char ch[1001],str[200][20];
	gets(ch);
	n=strlen(ch);
	ch[n]='\0';
	for (i=0;i<n;i++)
	{
		if (ch[i]==',')
			ch[i]=' ';
		if ((ch[i]==' ')&&(ch[i+1]==' '))
		{
			for (j=i+1;j<n-1;j++)
			{
				ch[j]=ch[j+1];
			}
			n=n-1;
		}
	}
	l=0;
	k=0;
	for (i=0;i<n;i++)
	{

		if ((ch[i]==' ')&&(i!=0)&&(i!=n-1))
		{l=l+1;k=0;}
		else
		{str[l][k]=ch[i];
		a[l]=k;
		k=k+1;}
	}
	if (l==0)
	{for(i=0;i<a[0]+1;i++)
	printf("%c",str[0][i]);
	printf("\n");
	for(i=0;i<a[0]+1;i++)
	printf("%c",str[0][i]);}
	else
	{min=a[0];
	max=a[0];
	n=0;
    k=0;
	for (i=0;i<=l;i++)
	{
		if (a[i]<min)
		{min=a[i];n=i;} 
			if (a[i]>max)
			{max=a[i];k=i;}
	}
	if(min == max)
	{for(i=0;i<a[0]+1;i++)
	printf("%c",str[0][i]);
	printf("\n");
	for(i=0;i<a[0]+1;i++)
	printf("%c",str[0][i]);}
	else
	{
		for (i=0;i<max+1;i++)
			printf("%c",str[k][i]);
		printf("\n");
		for (i=0;i<min+1;i++)
			printf("%c",str[n][i]);
	}}
	return 0;
}
void main()
{
 char a[100][100];
 int b[100],c[100],i,j,max,min;
 i=0;
 while(scanf("%s",&a[i])!=EOF)
  {
   i++;
  }
 for(j=0;j<=i-1;j++)
  {
  b[j]=strlen(a[j]);
  c[j]=b[j];
  }
 max=0;
 min=1000;
 for(j=0;j<=i-1;j++)
  {
  if(c[j]>max)
   max=c[j];
  if(c[j]<min)
   min=c[j];
  }
 for(j=0;j<=i-1;j++)
  if(b[j]==max)
   {
    puts(a[j]);
    printf("\n");
    break;
   }
 for(j=0;j<=i-1;j++)
  if(b[j]==min)
   {
    puts(a[j]);
    break;
   }

}