semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	char c[4000]={'0'};
	gets(c);
	int i,j,l,max[3],min[3];
	max[0]=0;
	min[0]=100;
	for(i=0;i<=3999&&c[i]!='\0';i++)
	{
		if(c[i]!=','&&c[i]!=' ')
		{
            l=0;
			for(j=i;j<=3999;j++)//zheli
			{
				if(c[j]==','||c[j]==' '||c[j]=='\0') break;
			}
			l=j-i;
            if(l>max[0]) { max[0]=l;max[1]=i;max[2]=j-1;}
			if(l<min[0]) { min[0]=l;min[1]=i;min[2]=j-1;}
			i=j;
		}
		else continue;
	}
    int k;
	for(k=max[1];k<=max[2];k++)
		printf("%c",c[k]);
	printf("\n");
	for(k=min[1];k<=min[2];k++)
		printf("%c",c[k]);
}
void main()
{
	char s[200][100]={'\0'},*ps;
	int n,i,max=0,t[200]={0},min=1000,*p;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s",*(s+i));
	for(i=0;i<n;i++)
		t[i]=strlen(*(s+i));
	for(i=0;i<n;i++)
	{
		if(*(t+i)>max)
			max=*(t+i);
		if(*(t+i)<min)
			min=*(t+i);
	}
	for(i=0;i<n;i++)
		if(t[i]==max)
		{
			printf("%s\n",s[i]);
			break;
		}
	for(i=0;i<n;i++)
		if(t[i]==min)
		{
			printf("%s",s[i]);
			break;
		}
}
int main()
{  int len=0,len1=0,len2=100,n,i;
   char max[30],min[30],temp[30],c;
   scanf("%d",&n);getchar();
   for(i=0;i<n;)
	  { c=getchar();
   if(c!=' '&&c!='\n') temp[len]=c,len++;
   else { temp[len]='\0';if(len>len1) {strcpy(max,temp);len1=len;}
   if(len<len2) {strcpy(min,temp);len2=len;}len=0;i++;}
   }
   puts(max);
   puts(min);
   return 0;
}
void main()
{
	char str[200];
	int n,i,j,k,s,a[800]={0},b[800],p;
	gets(str);
	n=strlen(str);
	for(k=0;k<n;k++)
		if(str[k]==' ')
			break;
	a[k]=k;
	for(j=k+1;j<n;j++)
	{
		if(str[j]!=' ')
		{
			for(i=j;i<n;i++)
			{
			if(str[i]==' ')
			{
			a[i]=i;
			for(s=i-1;s>=0;s--)
				if(a[s]!=0)
				a[i]=a[i]-a[s]-1;
			}
			}
		}
	}
	for(k=n-1;k>=0;k--)
		if(str[k]==' ')
			break;
	a[n]=n-k-1;
	for(i=0;i<=n;i++)
		if(a[i]!=0)
			break;
	b[0]=a[i];
	k=0;
	for(i=i+1;i<=n;i++)
	{
		if(a[i]==0)
			continue;
		if(a[i]!=0)
		{k++;b[k]=a[i];}
	}
	for(i=0;i<=k;i++)
	{
		for(j=i+1;j<=k;j++)
			if(b[j]>b[i])
			{p=b[j];b[j]=b[i];b[i]=p;}
	}
	
	for(i=0;i<=n;i++)
	    if(a[i]==b[0])
			break;
	for(j=i-a[i];j<i;j++)
		printf("%c",str[j]);
	printf("\n");
	for(i=0;i<=n;i++)
	    if(a[i]==b[k])
			break;
	for(j=i-a[i];j<i;j++)
		printf("%c",str[j]);
    printf("\n");
}
int main(int argc, char* argv[])
{
    char s[500];
 int i,t[500]={0},j=1,jz;
 t[0] = -1;
 gets(s);
 int m=strlen(s);
 s[m]=' ';
 for (i=0;i<=m;i++)
 {
  if (s[i]==' '||s[i] == '\0')
  {
	  t[j]=i;
      j++;
      jz=j;
  }
 }
    int k,l[20];
    for (k=1;k<jz;k++)
	{
		l[k]=t[k] - t[k-1] - 1;
	}
 int max=0,min=20,y1,y2;
    for (k=1;k<jz;k++)
    {
		if (min>l[k]){
			min=l[k];
			y1=k;}
	}
     for (k=1;k<jz;k++)
    {
		 if(max<l[k]){
			max=l[k];
			y2=k;
		 }
	 }
	 for ( i = t[y2] - l[y2]; i < t[y2]; i++ ){
		printf("%c",s[i]);
	 }
     printf("\n");
 
     for ( i = t[y1] - l[y1]; i < t[y1]; i++ ){
		printf("%c",s[i]);
	 }
	 printf("\n");
 return 0;
}
void main()
{
 char c,t[200],s[51][200];
 int i,j,n=0;
 scanf("%c",&c);
 while (c!='\n')
   {
   n=n+1;s[n][0]=c;i=0;
   scanf("%c",&c);
   while ((c!=' ')&&(c!='\n'))
     {
     i=i+1;s[n][i]=c;scanf("%c",&c);
     }
   s[n][i+1]='\0';
   if (c!='\n') scanf("%c",&c);
   }
 for (i=1;i<=n-1;i++)
   for (j=i+1;j<=n;j++)
     if (strlen(s[i])<=strlen(s[j]))
       {
       strcpy(t,s[i]);
       strcpy(s[i],s[j]);
       strcpy(s[j],t);
       }
 printf("%s\n%s\n",s[1],s[n]);
}
void main()
{
    char s[50][15],c;
    int i=1,n=0,max=0,min=10,x=0,y=0;
    do{
    	scanf("%s",&s[i]);
    	i++;
    	scanf("%c",&c);
    }while(c!='\n');
    n=i-1;
    for(i=1;i<=n;i++)
    {
    	if(strlen(s[i])>max)
    	{
    		max=strlen(s[i]);
    		x=i;
    	}
    	if(strlen(s[i])<min)
    	{
    		min=strlen(s[i]);
    		y=i;
    	}
    }
    printf("%s\n",s[x]);
    printf("%s",s[y]);
}
int main(int argc, char* argv[])
{
	int n,i;cin>>n;
	char temp[100],maxs[1000],mins[100];
	int maxl,minl;
	cin>>maxs;
	for(i=0;i<100;i++) mins[i]=maxs[i];
	maxl=minl=strlen(maxs);

	for(i=1;i<n;i++)
	{
		cin>>temp;
		int t=strlen(temp);
		if(t>maxl)
		{
			maxl=t;
			for(int j=0;j<=maxl;j++)
			{
				maxs[j]=temp[j];
			}
		}

		if(t<minl)
		{
			minl=t;
			for(int j=0;j<=minl;j++)
			{
				mins[j]=temp[j];
			}

		}
	}

	cout<<maxs<<endl<<mins<<endl;

	return 0;
}
void main()
{
	int n,i,g[100],max=0,min=0;
	char c[100][500],c1[50],c2[50];
	
	for(i=0;;i++)
	{
		if(scanf("%s",c[i])==EOF) break;
		g[i]=strlen(c[i]);
	}
	n=i;
	max=g[0];
	strcpy(c1,c[0]);
	for(i=0;i<n;i++)
	{
		if(g[i]>max) 
		{max=g[i];strcpy(c1,c[i]);}
		else continue;
	}
	min=g[0];
	strcpy(c2,c[0]);
	for(i=0;i<n;i++)
	{
		if(g[i]<min) 
		{min=g[i];
		strcpy(c2,c[i]);}
		else continue;
	}
	printf("%s\n%s\n",c1,c2);
}
int main()
{
	char a[5000]={'\0'};
	int lest=0,sest=100,l=0,i,pl,ps;
	gets(a);
	a[strlen(a)]=' ';
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!=' ')
			l++;
		else
		{
			if(l>lest)
			{
				lest=l;
				pl=i-l;
			}
			if(l<sest)
			{
				sest=l;
				ps=i-l;
			}
			l=0;
		}
	}
	for(i=pl;i<pl+lest;i++)
		printf("%c",a[i]);
	printf("\n");
	for(i=ps;i<ps+sest;i++)
		printf("%c",a[i]);
	return 0;
}
void main()
{
  char b[50][100];
  int l,ma,max,mi,min,i=1;
  scanf("%s",b[0]);
  ma=mi=strlen(b[0]);
  max=min=0;
 
	
	while(scanf("%s",b[i])==1)
	{
		l=strlen(b[i]);
	
		
		if(ma<l)
		{
			ma=l;
			max=i;
		}
		else if(l<mi)
		{
			mi=l;
			min=i;
		}
		i++;
	}
	printf("%s\n%s",b[max],b[min]);
}
void main()
{
	char str[1000],a[200][20];
	int b,c,d,e,f,g,h,i,j,k=0,l,m,n,lda=0,lxiao=50,ld,lx;
	gets(str);
	l=strlen(str);
	for(i=0;i<l;i++)
	{
		if(str[i]==',' || str[i]==' ') str[i]='\0';
	}
	for(i=0;i<=l;i++)
	{
		if(str[i]=='\0') i++;
		for(j=i;;j++)
		{
			a[k][j-i]=str[j];
			if(str[j]=='\0') break;
		}
		k++;
		i=j;
	}
	for(i=0;i<k;i++)
	{	if(strlen(a[i])>lda) {ld=i;lda=strlen(a[i]);}
	    if(strlen(a[i])<lxiao) {lx=i;lxiao=strlen(a[i]);}
	}
	puts(a[ld]);
	puts(a[lx]);
}
void main()
{
	char x[10000];
	int a[10000]={0},b[10000]={0},i,j=1,k,max,m=0,n=10000,min,y,p,q;
	gets(x);
	k=strlen(x);
	*(x+k)=' ';
	*a=-1;
	for(i=0;i<k+1;i++)
	{
		if(x[i]==' ')
		{
			*(a+j)=i;
			j=j+1;
		}
	}
	/*for(y=0;y<j;y++)
		printf("%d ",a[y]);
	printf("\n");*/
	for(i=0;i<j-1;i++)
		*(b+i)=*(a+i+1)-*(a+i);
	/*for(y=0;y<j-1;y++)
		printf("%d ",b[y]);
	printf("\n");*/
	for(i=j-2;i>-1;i--)
	{
		if(m<=*(b+i))
		{
			m=*(b+i);
			max=i;
		}
		if(n>=*(b+i))
		{
			n=*(b+i);
			min=i;
		}
	}
	/*printf("%d %d %d %d\n",max,min,m,n);*/
	p=*(a+max+1);
	q=*(a+max);
	/*printf("%d %d\n",p,q);*/
	for(k=q+1;k<p;k++)
		printf("%c",x[k]);
	printf("\n");
	p=*(a+min+1);
	q=*(a+min);
	for(k=q+1;k<p;k++)
		printf("%c",*(x+k));
	printf("\n");
}
int main()
{
	char s[100];
	int i,k,p,a,m=0,n=0,max=0,min=100;
	gets(s);
	a=strlen(s);
	for(i=0;i<=a;i++)
	{
		if(s[i]!=' '&&s[i]!='\0')
			m++;
		else
		{
			if(m>max)
			{
				max=m;
				k=i-max;
				m=0;
			}
			else m=0;
		}
	}
	for(i=0;i<=a;i++)
	{
		if(s[i]!=' '&&s[i]!='\0') n++;
		else
		{
			if(n<min)
			{
				min=n;
				p=i-min;
				n=0;
			}
			else n=0;
		}
	}
	for(i=k;s[i]!=' '&&s[i]!='\0';i++)
		printf("%c",s[i]);
	printf("\n");
	for(i=p;s[i]!=' '&&s[i]!='\0';i++)
		printf("%c",s[i]);
	printf("\n");
	return 0;
}
int main()
{
	char s[5000];
	gets(s);
	int a[201],m=1,i,s1=0,s2=0,j,max,min;
	for(i=0;i<201;i++)
		a[i]=0;
	for(i=0;i<strlen(s);i++)
	{
		if(s[i]==' '||s[i]==',')
			m++;
	}//m shi dan ci shu
	i=0;
	for(j=0;j<strlen(s);j++)
	{
		if(s[j]!=' '&&s[j]!=',')
			a[i]++;
		else
			i++;
	}
	max=0;
	min=0;
	for(i=0;i<m;i++)
	{
		if(a[i]>a[max])
			max=i;
		if(a[i]<a[min]&&a[i]!=0)
			min=i;
	}
	for(i=0;i<max;i++)
		s1=s1+a[i];
	s1=s1+max;
	for(i=s1;i<s1+a[max];i++)
		printf("%c",s[i]);
	printf("\n");
	for(i=0;i<min;i++)
		s2=s2+a[i];
	s2=s2+min;
	for(i=s2;i<s2+a[min];i++)
		printf("%c",s[i]);
	return 0;
}
int main()
{
	char a[2000],b[50],d[50];
	int i,k,len,leng=0,u=0,e,c,m=50;
	gets(a);
	len=strlen(a);
	for(i=0;i<=len;i++)
	{
		if(a[i]!=' '&&a[i]!=','&&a[i]!='\0')
		{
			leng=leng+1;
		}
		if(a[i]==' '||a[i]==','||a[i]=='\0')
		{
			c=leng;
			leng=0;
			if(c>u)
			{
				e=c;
				c=u;
				u=e;
				for(k=0;k<u;k++)
				{
					b[k]=a[i-u+k];
					b[u]='\0';
				}
			}
		}
	}
	printf("%s\n",b);
for(i=0;i<=len;i++)
	{
		if(a[i]!=' '&&a[i]!=','&&a[i]!='\0')
		{
			leng=leng+1;
		}
		if((a[i]==' '||a[i]==','||a[i]=='\0')&&a[i-1]!=' '&&a[i-1]!=',')
		{
			c=leng;
			leng=0;
			if(c<m)
			{
				e=c;
				c=m;
				m=e;
				for(k=0;k<m;k++)
				{
					d[k]=a[i-m+k];
					d[m]='\0';
				}
			}
		}
	}
	printf("%s\n",d);

				
	

	return 0;
			
}
int main()
{
    char word[1000]="";
    int num[1000]={0};
    char word1[50][100];
    gets(word);
    int i,count=0,flag=0,max=0,min=100,j,flag1=0,flag2=0;
    for(i=0;i<=strlen(word);i++)
    {
                               if(word[i]!=' '&&word[i]!='\0')
                               {
                                             count++;
                                             word1[flag1][flag2]=word[i];
                                             flag2++;
                               }
                               else 
                               {
                                    
                                    if(count>max)
                                    max=count;//printf("%d\n",max);
                                    if(count<min)
                                    min=count;
                                    count=0;
                                    flag1++;
                                    flag2=0;   
                               }
    }
    //printf("%d",max);
    //getchar();getchar();
    //return 0;
    count=0;
    for(i=0;i<flag1+1;i++)
    {
                        if(max==strlen(word1[i]))
                        {
                                                 printf("%s\n",word1[i]);
                                                 break;
                        }
    }
    for(i=0;i<flag1+1;i++)
    {
                        if(min==strlen(word1[i]))
                        {
                                                 printf("%s",word1[i]);
                                                 break;
                        }
    }
    getchar();getchar();
    return 0;
}
int main()
{
    char words[2000];
    int i, j;
    int max, min, indexmax, indexmin, temp, dis, len;
    gets(words);
    len = strlen(words);
    max = -1;
    min = 5000;
    
    for (i=0; i<len; i++) {
        while (words[i] == ' ') i++; // ???????????
        temp = i;                    // ????????
        while (words[i] != '\0' && words[i] != ' ') i++; // ??????
        dis = i - temp;
        if (dis > max) {
            max = dis;
            indexmax = temp;
        }
        if (dis < min) {
            min = dis;
            indexmin = temp;
        }
    }
    
    // ???????for??????
    while (words[indexmax] != '\0' && words[indexmax] != ' ') 
        printf("%c", words[indexmax++]);
    printf("\n");
    while (words[indexmin] != '\0' && words[indexmin] != ' ') 
        printf("%c", words[indexmin++]);
    printf("\n");
    return 0;
}
int main()
{
	char s[5000]={0};
	gets(s);
	int b,n = strlen(s),i,j,k;
	char a[50][50];
	b=0;
	k=0;
	int m = 0;
	for(i=0;k<n;i++)
	{
		b=0;
		for(j=0;k<n;j++)
		{	
			if(s[k]!=' ')
				a[i][j]	=s[k];
			if(s[k]==' ')
			{
				k++;
				a[i][j] = 0;
				break;
			}
			k++;	
		}
		if(k>=n)
			a[i][j] = 0;
	}
	m=i;
	int c=0,d;
	d=0;
	for(i=1;i<m;i++)
	{
		if(strlen(a[c])<strlen(a[i]))
			c=i;
		if(strlen(a[d])>strlen(a[i]))
			d=i;
	}
	printf("%s\n%s\n",a[c],a[d]);
	return 0;
}
void main()
{
  int alphabetic(char);
  int longest(char[]);
  int shortest(char[]);
  int i,j;
  char line[1000];
  gets(line);
  for(i=longest(line);alphabetic(line[i]);i++)
  printf("%c",line[i]);
  printf("\n");
  for(j=shortest(line);alphabetic(line[j]);j++)
  printf("%c",line[j]);
  printf("\n");
}
 
 int alphabetic(char c)
{
 
  if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
  return(1);
  else return(0);
}
 
 int longest(char string[])
{
  int len=0,length=0,flag=1,place=0,i,point;
  for(i=0;i<=strlen(string);i++)
  if(alphabetic(string[i]))
  if(flag)
  {
   point=i;
   flag=0;
   }
   else len++;
   else
  {
    flag=1;
    if(len>length)
    {
      length=len;
      place=point;
     }
      len=0;
     
   }
  return(place);
}
  int shortest(char string[])
 {
   int len=0,length=10,flag=1,place=0,i,point;
   for(i=0;i<=strlen(string);i++)
   if(alphabetic(string[i]))
   if(flag)
   {
     point=i;
     flag=0;
    }
    else len++;
   else
   {
     flag=1;
     if(len<length)
      {
         length=len;
         place=point;
        
       }
     len=0;
    }
   return(place);
}
int main(int argc, char* argv[])
{
    char s[500];
 int i,t[500]={0},j=1,jz;
 t[0] = -1;
 gets(s);
 int m=strlen(s);
 s[m]=' ';
 for (i=0;i<=m;i++)
 {
  if (s[i]==' ')
  {
	  t[j]=i;
      j++;
      jz=j;
  }
 }
    int k,l[20];
    for (k=1;k<jz;k++)
	{
		l[k]=t[k] - t[k-1] - 1;
	}
 int max=0,min=20,y1,y2;
    for (k=1;k<jz;k++)
    {
		if (min>l[k]){
			min=l[k];
			y1=k;}
	}
     for (k=1;k<jz;k++)
    {
		 if(max<l[k]){
			max=l[k];
			y2=k;
		 }
	 }
	 for ( i = t[y2] - l[y2]; i < t[y2]; i++ ){
		printf("%c",s[i]);
	 }
     printf("\n");
 
     for ( i = t[y1] - l[y1]; i < t[y1]; i++ ){
		printf("%c",s[i]);
	 }
	 printf("\n");
 return 0;
}
int main()
{
	char a[500],*p;
	int i,j=1,k,b[51]={0},c[50]={0};
	gets(a);
	for(i=0;;i++){
		if(a[i]==' '){
			b[j]=i;
			j++;
		}
		if(a[i]=='\0'){
			k=i;
			b[j]=i;
			break;
		}
	}
	b[0]=-1;
	for(i=0;i<j;i++){
		c[i]=b[i+1]-b[i]-1;
	}
	int m=0,m1=0,n=c[0],n1=0;
	for(i=0;i<j;i++){
		if(c[i]>m){
			m=c[i];
			m1=i;
		}
		if(c[i]<n){
			n=c[i];
			n1=i;
		}
	}
	for(i=b[m1]+1;i<b[m1+1];i++)
		cout<<a[i];
	cout<<endl;
    for(i=b[n1]+1;i<b[n1+1];i++)
		cout<<a[i];
	return 0;
}
void main()
{
	int n,i,j,k;
	char a[1000][50];
	int b[1000];
	int *p;
	char (*p1)[50];
	scanf("%d",&n);
	p=b;
	for(i=0;i<n;i++)
	{
		scanf("%s",a[i]);
		*(p+i)=strlen(a[i]);
	}
	for(i=1;i<n;i++)
	{
		for(j=0;j<n-i;j++)
		{
			if(*(p+j)>*(p+j+1))
			{
				k=*(p+j);
				*(p+j)=*(p+j+1);
				*(p+j+1)=k;
			}
		}
	}
	for(i=0;i<n;i++)
	{
		k=strlen(a[i]);
		if(k==*(p+n-1)){printf("%s\n",a[i]);break;}
	}
	for(i=0;i<n;i++)
	{
		k=strlen(a[i]);
		if(k==*(p+0)){printf("%s",a[i]);break;}
	}
}
int main()
{
	int i,j,c,k,ma,mi,nma,nmi;
	char s[500],a[50][50];
	gets(s);
	for(i=0,j=0,k=0;i<500;i++)
	{
		if(s[i]!=' '&&s[i]!='\0')
		{
			a[j][k]=s[i];
			k++;
		}
		else if(s[i]==' ')
		{
			a[j][k]='\0';
			j++;
			k=0;
		}
		else
		{
			a[j][k]='\0';
			break;
		}
	}
	nma=0;
	nmi=0;
	ma=strlen(a[0]);
	mi=strlen(a[0]);
	for(i=1;i<=j;i++)
	{
		c=strlen(a[i]);
		if(c<mi)
		{
			mi=c;
			nmi=i;
		}
		if(c>ma)
		{
			ma=c;
			nma=i;
		}
	}
	puts(a[nma]);
	scanf("\n");
	puts(a[nmi]);
	scanf("\n");
	return 0;
}
int main()
{
    int i,j=0,a=(-1),x,s,t,e,w;
    int y[100];
    char v[100][20],A[20];
    char z[2000];
    gets(z);
    x=strlen(z);
    for(i=0;i<x;i++)
    {
                  if((z[i]==' '&&z[i+1]!=' ')||(i==0&&z[i]!=' '))
                  {
                             a++;
                            
                  }
                 if(z[i]==' ')
                 {
                            j=0;
                 }
                 else
                 {
                     j++;
                     v[a][j-1]=z[i];
                     v[a][j]='\0';
                 }
                 if((z[i]!=' '&&z[i+1]==' ')||z[i+1]=='\0')
                 {
                              y[a]=j;
                 }
    }
    
     w=a+1;
     for(s=1;s<=w;s++)
   {
	for(t=0;t<w-s;t++)
    {
			if(y[t]<y[t+1])
            {
					e=y[t+1];
					y[t+1]=y[t];
					y[t]=e;
					strcpy(A,v[t+1]);
					strcpy(v[t+1],v[t]);
					strcpy(v[t],A);
			}
	}
   }
    printf("%s\n",v[0]); 
   for(s=1;s<=w;s++)
   {
	for(t=0;t<w-s;t++)
    {
			if(y[t]>y[t+1])
            {
					e=y[t+1];
					y[t+1]=y[t];
					y[t]=e;
					strcpy(A,v[t+1]);
					strcpy(v[t+1],v[t]);
					strcpy(v[t],A);
			}
	}
   }
    
    printf("%s",v[0]);
        return 0;
 }
int main(){
	char z[1000];
	int i,j=1,n,k,m=0,e,max,min,s[1000],l[1000];
	gets(z);
	n=strlen(z);
	for(i=0;i<n;i++){
		if(z[i]==' '||z[i]==','){
			s[j]=i;
			j++;
		}
	}
	s[j]=n;
	s[0]=-1;
	for(k=0;k<j;k++){
		if(s[k+1]-s[k]-1!=0){
		l[m]=s[k+1]-s[k]-1;
		m++;
		}
	}
	m--;
	for(i=0;i<m;i++){
		if(l[i]>l[i+1]){
			e=l[i+1];
			l[i+1]=l[i];
			l[i]=e;
		}
	}
	max=l[m];
for(i=0;i<m;i++){
		if(l[i]<l[i+1]){
			e=l[i+1];
			l[i+1]=l[i];
			l[i]=e;
		}
	}
	min=l[m];
	for(k=0;k<j;k++){
		if(s[k+1]-s[k]-1==max){
			for(i=s[k]+1;i<s[k+1];i++){
				printf("%c",z[i]);
			}
		printf("\n");
		break;
		}
	}
	for(k=0;k<j;k++){
		if(s[k+1]-s[k]-1==min){
			for(i=s[k]+1;i<s[k+1];i++){
				printf("%c",z[i]);
			}
		printf("\n");
		break;
		}
	}
	return 0;
}
int main()
{
	int i=0, j;
	char s[500], max[20], min[20], x[20];
	gets(s);
	for(;s[i]!=' ';i++)
		{
			x[i]=s[i];
		}
		x[i]='\0';
		strcpy(min, x);
		strcpy(max, x);
		i++;
	for(;s[i];i++)
	{
		for(j=0;s[i]!=' '&&s[i]!='\0';i++, j++)
		{
			x[j]=s[i];
		}
		x[j]='\0';
		if(strlen(x)>strlen(max))
		{
		    strcpy(max, x);
		}
		if(strlen(x)<strlen(min))
		{
		    strcpy(min, x);
		}
		if(s[i]=='\0')
		{
			break;
		}
	}
	printf("%s\n", max);
	printf("%s\n", min);
	return 0;
}
int main()
{
char dc[50][20];
char sr[1000];
gets(sr);
int i,j=0,k=0;
int len;
len=strlen(sr);
for(i=0;i<=len;i++)
{
if(sr[i]!=' '&&sr[i]!='\0')
{
dc[j][k]=sr[i];
k++;
}
else if(sr[i]==' '||sr[i]=='\0')
{
dc[j][k]='\0';
j++;
k=0;
}
}
int sz[50];
for(i=0;i<j;i++)
{
sz[i]=strlen(dc[i]);
}
int min=0,max=0;
for(i=0;i<j;i++)
{
if(sz[i]<sz[min]){min=i;}
if(sz[i]>sz[max]){max=i;}
}
printf("%s\n",dc[max]);
printf("%s\n",dc[min]);
return 0;
}
int main(){
         char word[50][100]={0};
         char max[100],min[100];
	int len[50];
	int n;
	int da=0,xiao=100;
	for(int i=0;i<100;i++){
		scanf("%s",word[i]);
                  len[i]=strlen(word[i]);
                  n=i;
                  if(len[i]==0){break;}
	}
         for(int j=0;j<n;j++){
                  if(len[j]<xiao){
                       xiao=len[j];
                       strcpy(min,word[j]);
                  }
                  if(len[j]>da){
                       da=len[j];
                       strcpy(max,word[j]);
                  }
         }
         printf("%s\n",max);
         printf("%s\n",min);
      	return 0;
}
main()
{
	char str[1000],*p,*p1,*p2,*p3;
	int len,max=0,min=100;
	gets(str);
	for(p1=p=str;*p!='\0';p++)
	{
		if(*p==' ') 
		{
			*p='\0';
			len=strlen(p1);
			if(len<min)   {min=len;p2=p1;}
			if(len>max) {max=len; p3=p1;}
			p1=p+1;
		}
	}
		len=strlen(p1);
			if(len<min)   {min=len;p2=p1;}
			if(len>max) {max=len; p3=p1;}

	puts(p3);
	puts(p2);
}
int main()
{
	char a[201][30]={0},b='0';
	int c[201]={0},i=0,j=0,n,p=0,q=100,x=0,y=0;
	while((b=getchar())!='\n')
	{
		if(b!=' '&&b!=',')
			a[i][j++]=b;
		else {i++;j=0;}
	}
	n=i;
	for(j=0;j<=n;j++)
		c[j]=strlen(a[j]);
	for(j=0;j<=n;j++)
	{
		if(c[j]>p)
		{p=c[j];x=j;}
		if(c[j]<q&&c[j]>0)
		{q=c[j];y=j;}
	}
	puts(a[x]);
	puts(a[y]);
	return 0;
}
int main()
{
   char juzi[3000];
   gets(juzi);
   int n=strlen(juzi);
   int i;
   int cishu=0;
   char danci[50][100]={0};
   int m=0;
   int j=0;
   for(i=0; i<n; i++)
   {
	   if(juzi[i]!=' ')
       {
	    danci[m][j]=juzi[i];
		j+=1;
	   }
	   if(juzi[i]==' ')
	   {
	    m+=1;
		j=0;
	   }
   } 
   int chang[50];
   int t;
   for(i=0; i<=m; i++)
   {
	   chang[i]=strlen(danci[i]);
   }
   for(i=0; i<=m; i++)
   {
      for(j=m; j>i; j--)
	  {
	      if(chang[j]>chang[j-1])
		  {
		     t=chang[j];
			 chang[j]=chang[j-1];
			 chang[j-1]=t;
		  }
	  }
   }
   int max=chang[0];
   int min=chang[m];
   cishu=0;
   int sum=0;
   for(i=0; i<=m; i++)
   {
       if(strlen(danci[i]) == max && cishu==0)
	   {
	     printf("%s", danci[i]);
		 cishu+=1;
	   }
   }
   for(i=0; i<=m; i++)
   {
       if(strlen(danci[i]) == min && sum==0)
	   {
	     printf("\n%s", danci[i]);
		 sum+=1;
	   }
   }
    return 0;
}
int main()
{
	char a[NUM],b[200][50]={'\0'};
	char *max,*min;
	int m,n,i,t,j;
	gets(a);
	j=strlen(a);
	t=0;
	n=0;
	for(m=0;m<j;m++){
		if((a[m]!=' '&&a[m]!='\0')&&a[m]!=','){
		    b[n][t]=a[m];
		    t++;
		}
		else{
			n++;
			t=0;
		}
	}
	max=b[0];
	min=b[0];
	for(i=1;i<n+1;i++){
		if(strlen(max)<strlen(b[i])){
			max=b[i];
		}
		if(strlen(min)>strlen(b[i])&&(strlen(b[i])!=0)){
			min=b[i];
		}
	}
	puts(max);
	puts(min);
	return 0;
}
int main(int argc, char *argv[])
{
  int i,t,j=-1,x=0;
  int b[200]={0};
  int c[200]={0};
  char a[5000]={'\0'};
  gets(a);
  for(i=0;i<5000;i++)
    {
      if(a[i]=='\0')
       {c[x+1]=i+1;
        b[x]=i-j-1;
        x=x+1;
        j=i;
         break;}
      if(a[i]==' ')
       {c[x+1]=i+1;
        b[x]=i-j-1;
        x=x+1;
        j=i;}
    }
    for(i=0;i<200;i++)
    {
      if(b[i]==0)
       break;
      if(b[i]>b[0])
      {t=b[0];
      b[0]=b[i];
      b[i]=t;
      t=c[0];
      c[0]=c[i];
      c[i]=t;
      }
    }
    
    for(i=c[0];i<c[0]+b[0];i++)
    printf("%c",a[i]);
    printf("\n");
     for(i=0;i<200;i++)
    {
      if(b[i]==0)
       break;
      if(b[i]<b[0])
       {t=b[0];
      b[0]=b[i];
      b[i]=t;
      t=c[0];
      c[0]=c[i];
      c[i]=t;
      }
    }
   for(i=c[0];i<c[0]+b[0];i++)
    printf("%c",a[i]);
    printf("\n");
  return 0;
}
int main()
{
	int i,j=0,n,flag=0,max,min,s,t,q1;
	char a[2000]={'\0'};
	char b[200][24]={'\0'};
    scanf("%d\n",&q1);
	
	gets(a);
	n=strlen(a);
	for (i=0;;i++)
	{
		for (j=0;j+flag<=n;j++)
		{
			if (*(a+j+flag)==' ')
			{	flag=j+flag+1;
			    j=0;
                break;
			}
			else if (*(a+j+flag)==',')
			{  	flag=j+flag+2;
			    j=0;
                break;
			}
			else 
				*(*(b+i)+j)=*(a+j+flag);
		}
		if (j+flag==n+1)
			break;
	}
	max=strlen(*(b+0)),s=0;
	min=strlen(*(b+0)),t=0;
	for (j=1;j<=i;j++)
	{
		if (strlen(*(b+j))>max)
		{
			max=strlen(*(b+j));
			s=j;
		}
		if (strlen(*(b+j))<min)
		{
			min=strlen(*(b+j));
			t=j;
		}
	}

	printf("%s\n%s\n",*(b+s),*(b+t));


	
//	for (j=0;j<=i;j++)
//		printf("%s\n",b[j]);

	return 0;
}
void main()
{
	char str[100],str2[100][100];
	int i,j,k,n=0,min,max,minno,maxno,len[100];
	gets(str);
	for(i=0;str[i]!='\0';i++)
		if(str[i]==32)n++;
	n++;
	//printf("%d",n);
		i=0;
		for(j=0;j<n;j++)
		{
			if(str[i]=='\0')
			{
				break;
				i++;
			}
			else
				{
					for(k=0;;k++)
					{
						if(str[i]==32||str[i]=='\0')
							{
								i++;
								break;
							}
						str2[j][k]=str[i];
						i++;
					}
					
				}
		}
	for(i=0;i<n;i++)
		len[i]=strlen(str2[i]);
	min=max=len[0];
	for(i=0;i<n;i++)
		{
			max=max>len[i]?max:len[i];
			min=min<len[i]?min:len[i];
		}
	for(i=n-1;i>=0;i--)
	{
		if(max==len[i])maxno=i;
		if(min==len[i])minno=i;
	}
	for(j=0;str2[maxno][j]!='\0';j++)
		printf("%c",str2[maxno][j]);
	printf("\n");
	for(j=0;str2[minno][j]!='\0';j++)
		printf("%c",str2[minno][j]);
}
main()
{
   char c,str[1000],word[20];
   char longword[20],shortword[20];
   int i,j, longlen=0,shortlen=20;
   gets(str);
   i=0;
   j=0;
   while((c=str[i])!='\0')
     if(c!=' ')
       word[j++]=str[i++];
     else
     {
        i++;
        word[j]='\0';
        if(j>longlen)
         {  longlen=j;strcpy(longword,word);}
        if(j<shortlen)
         {  shortlen=j;strcpy(shortword,word);}
        j=0;
      }
	 word[j]=0;
	 if(j>longlen)
         {  longlen=j;strcpy(longword,word);}
        else if(j<shortlen)
         {  shortlen=j;strcpy(shortword,word);}
    puts(longword);
    puts(shortword);
}
void main(){
	int i=0,j=0,m=0,n=30,m1,n1;
	char s[1000],w[50][20];
	char *a;
	gets(s);
	for(a=s;*a!='\0';a++){
		if(*a!=' '){
			w[j][i]=*a;
			i++;
		}
		if(*a==' '){
			w[j][i]='\0';
			if(i>m){
				m1=j;
				m=i;
			}
			if(i<n){
				n=i;
				n1=j;
			}
			j++;
			i=0;
		}
	}
	w[j][i]='\0';
    if(i>m){
		m1=j;
		m=i;
	}
	if(i<n){
		n=i;
		n1=j;
	}
	printf("%s\n%s",w[m1],w[n1]);
}
int main()
{
	char s[3000],p[50][200]={0};
   int i,w=0,c=0,l;
   gets(s);
   l=strlen(s);
   for(i=0;i<l;i++)
   {
	   if(s[i]!=' ')
	   {p[w][c]=s[i];   c++;}
	   else{w++;   c=0;}
   }
         int m=strlen(p[0]),n=0,j=0,k=0;
	for(i=0;i<=w;i++)
	{ 
		if(strlen(p[i])<m)
	   {m=strlen(p[i]);  j=i;}
	   if(strlen(p[i])>n)
	   {n=strlen(p[i]);   k=i;}
   }
	printf("%s\n%s",p[k],p[j]);
	return 0;
}