semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
	int l,t=0,i,j,m[100],n;
	char a[1000],b[1000][51],ab[51];
	gets(a);
	l=strlen(a);
	m[0]=0;
	for(i=0;i<l;i++)
	{
		if(a[i]!=' ')
		{
			b[t][m[t]]=a[i];
			m[t]++;
			b[t][m[t]]='\0';
		}
		if(a[i]==' ')
		{
			t++;
			m[t]=0;
		}
	}
	for(i=1;i<=t;i++)
	{
	for(j=0;j<=t-i;j++)
	{
		if(m[j]<m[j+1])
		{
			n=m[j+1];
			m[j+1]=m[j];
			m[j]=n;
			strcpy(ab,b[j]);
			strcpy(b[j],b[j+1]);
			strcpy(b[j+1],ab);
		}
	}
	}
	puts(b[0]);
for(i=1;i<=t;i++)
	{
	for(j=0;j<=t-i;j++)
	{
		if(m[j]>m[j+1])
		{
			n=m[j+1];
			m[j+1]=m[j];
			m[j]=n;
			strcpy(ab,b[j]);
			strcpy(b[j],b[j+1]);
			strcpy(b[j+1],ab);
		}
	}
	}
	puts(b[0]);
}
void main()
{
	char s[1000];
	int i,max=0,min=9999,x,y,len,p=0;
	gets(s);
	len=strlen(s);
	for(i=0;i<len;i++)
	{
		if(*(s+i)==' ') {
			if(p>max) {max=p;x=i-p;}
			if(p<min) {min=p;y=i-p;}
			p=0;
		}
        else p++;
	}
	if(p>max) {max=p;x=i-p;}
    if(p<min) {min=p;y=i-p;}
		
	for(i=x;*(s+i)!=' '&&*(s+i)!='\0';i++)
		printf("%c",*(s+i));
	printf("\n");
	for(i=y;*(s+i)!=' '&&*(s+i)!='\0';i++)
		printf("%c",*(s+i));
	

}
void main()
{
	char c,a[200][40];
	int i=0,j=0,p,q,b[200],d;
	while(c!='\n')
	{
		c=getchar();
		if(c!=' '&&c!='\n')
		{
			a[i][j]=c;
			j=j+1;}
		if(c==' '||c=='\n')
		{
			a[i][j]='\0';
			b[i]=strlen(a[i]);
			i=i+1;
			j=0;
		}
	}
	p=0;
	q=0;
	for(d=0;d<i;d++)
	{
		if(b[d]>b[p])
			p=d;
		if(b[d]<b[q])
			q=d;
	}
	printf("%s\n%s\n",a[p],a[q]);
}
int main()
{
	char c[N];
	gets(c);
    int a[N]={0},b[N]={0},i,j=0,y=0,n=0,m=0,l=0,q=0,e=0,f=0,w=0,len,d[N]={0};
	len=strlen(c);
    for(i=0;i<=len;i++)
	{
		if(c[i]==' '||c[i]=='\0')
		{
			n=i-d[j];
			b[j]=n;//??????
            y=y+n+1;
			d[j+1]=y-1;//??????????????
			m=m++;//m???
			j=j++;
		} 
	}
	b[1]=b[1]-1;
	b[m]=len-d[m];
	d[1]=d[1]+1;
	//printf("%d\n",m);
	/*for(i=0;i<m;i++)
	{
		printf("%d\n",b[i]);
	}*/
  for(j=0;j<m+1;j++)
   {
	   l=0;
	   for(i=0;i<m;i++)
	   {
		   if(b[i]<=b[j])
			   l=l++;
	   }
	   if(l>=m)
	   { e=j;break;}	   
   }
   for(j=0;j<m;j++)
   {
	   q=0;
	   for(i=0;i<m;i++)
	   { 
		   if(b[i]>=b[j])
			   q=q++;
	   }
	   if(q>=m)
	   { f=j;break;}
   }
//printf("%d %d %d %d\n",e,f,d[e],d[f]);
        for(i=d[e];i<d[e]+b[e];i++)
		{
	   printf("%c",c[i]);
		}
   printf("\n");
   /*if(d[f]==0)
   {
        for(i=d[f];i<d[f]+b[f];i++)
		{
	   printf("%c",c[i]);
		}
   }
   else
   {*/
       for(i=d[f];i<d[f]+b[f];i++)
	   {
	   printf("%c",c[i]);
	   }
  // }
   printf("\n");
   return 0;  
}
int main ()
{  
	char s[1000];
	gets(s);
	int start,i=0,max=0,z=0,big=0,small=100,min=0;
	while(s[i]!='\0')
	{
		int total=0;
		if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
		{ 
			start=i;
			z++;
			while((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z')) 
			{
				total++;
				i++;
			}
			if(total>big)
			{
				max=start;
				big=total;
			}
			if(total<small)
			{
				min=start;
				small=total;
			}			
		}
		else
			i++; 
	}
	i=max;
	while((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z')) 
	{
		printf("%c",s[i]);
		i++;
	}
	printf("\n");
    i=min;
	while((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z')) 
	{
		printf("%c",s[i]);
		i++;
	}
	return 0;
}
int main(){
	char zfsz[w];
	gets(zfsz);
	int i,j,k,len,max,min,m,a,b;
	int sz[100];
	len=strlen(zfsz);
	sz[0]=-1;
	j=1;
	for(i=0;i<len;i++){
		if(zfsz[i]==' '){
			sz[j]=i;
			j++;
		}
	}
	sz[j]=i;
	max=sz[1]-sz[0]-1;
	a=0;
	min=sz[2]-sz[1]-1;
	b=0;
	if(max<min){
		m=max;
		max=min;
		min=m;
		a=1;
		b=0;
	}
	for(k=3;k<=j;k++){
		m=sz[k]-sz[k-1]-1;
		if(m>max){
			max=m;
			a=k-1;
		}
		else if(m<min){
			min=m;
			b=k-1;
		}
	}
	for(i=sz[a]+1;i<sz[a+1]-1;i++){
		printf("%c",zfsz[i]);
	}
	printf("%c\n",zfsz[i]);
	for(j=sz[b]+1;j<=sz[b+1]-1;j++){
		printf("%c",zfsz[j]);
	}


	return 0;
}
void main()
{
	char s[50],jl[50],il[50];int i=100,j=0;
	while(scanf("%s",s)!=EOF)
	{
		if(strlen(s)>j){strcpy(jl,s);j=strlen(s);}
		if(strlen(s)<i){strcpy(il,s);i=strlen(s);}
	}
	printf("%s\n%s",jl,il);
}
int main()
{
	int n,i,j;
	int max=0,min=100;
	char s[250][250];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",s[i]);
	}
	for(i=0;i<n;i++)
	{
		if(strlen(s[i])>max) max=strlen(s[i]);
		if(strlen(s[i])<min) min=strlen(s[i]);
	}
	for(j=0;j<n;j++)
	{
		if(strlen(s[j])==max)
		{
			printf("%s\n",s[j]);
			break;
		}
	}
	for(j=0;j<n;j++)
	{
		if(strlen(s[j])==min) 
		{
			printf("%s\n",s[j]);
			break;
		}
	}
	return 0;
}
void main()
{
	char a[10000],*p,*q,*r;int i=0,j=0,n,k,min=50,max=0,word=1,x=0,y=50;
	gets(a);
n=strlen(a);
p=a;
do
{
	if(*p==' '||p==&a[n])
		word=0;
	else
		word=1;
if(word==1)
i++;
else
{
	if(i>max){max=i;q=p;}
	if(i<min){min=i;r=p;}
	i=0;
}
p++;
}while(p!=&a[n+1]);
for(p=q-max;p<q;p++)
printf("%c",*p);printf("\n");
for(p=r-min;p<r;p++)
printf("%c",*p);printf("\n");
}
int main()
{
    char a[500];char ch[100][15]={0};int b[100]={0},i=0,j=0,k=0;
    gets(a);int m,n,x=0,y=0;
   while(i<strlen(a))
    {
        while(a[i]!=' '&&a[i]!=','&&a[i]!=0)
        {
            ch[j][k++]=a[i++];b[j]++;
        }
        if(k!=0)
        {j++;k=0;}
        i++;
    }
   /* for(i=0;i<=j;i++)
    {
        printf("%s %d \n",ch[i],b[i]);
    }*/
   m=b[0];
    for(i=1;i<j;i++)
    {
        if(b[i]>m)
        {
            m=b[i];x=i;
        }
    }
    n=b[0];
    for(i=1;i<j;i++)
    {
        if(b[i]<n)
        {
            n=b[i];y=i;
        }
    }

    printf("%s\n%s",ch[x],ch[y]);
    return 0;
}
int main()
{
	char word[50][100],input[5000];
	gets(input);
	int i,k=0,j=0,a=0,b=0;
	int n=strlen(input);
	for(i=0;i<n;i++)
	{
		if(input[i]==' ')
		{
			word[k][j]='\0';
			k++;
			j=0;
			continue;
		}
		word[k][j]=input[i];
		j++;
	}
	word[k][j]='\0';
	int max=strlen(word[0]);
	int min=strlen(word[0]);
	for(i=1;i<=k;i++)
	{
		if((int)strlen(word[i])>max)
		{
			max=(int)strlen(word[i]);
			a=i;
		}
	}
	for(i=1;i<=k;i++)
	{
		if((int)strlen(word[i])<min)
		{
			min=(int)strlen(word[i]);
			b=i;
		}
	}
	printf("%s\n",word[a]);
	printf("%s\n",word[b]);
	return 0;
}
int main()
{
     int i=0,l,k=0,count[10000],ct[200]={0},max,min;
    char zfc[10000];
    gets(zfc);
    l=strlen(zfc);
    while(i<l)
    {
                           if(zfc[i]!=' '&&zfc[i]!=',')
                           {
                                        count[i]=k;
                                        ct[k]+=1;
                           }
                           else if(zfc[i]==' ')
                           {
                               k=k+1;
							   count[i]=-1;
                           }
						   else
						   {
							       count[i]=-1;
								   k=k+1;
								   i=i+1;
								   count[i]=-1;
							}
                           i++;
    }
    for(i=0;i<=k;i++)
    {
                     if(i==0)
                     {
                             max=0;
                             min=0;
                     }
                     else
                     {
                         if(ct[i]>ct[max])
                         {
                                          max=i;
                         }
                         else if(ct[i]<ct[min])
                         {
                                            min=i;
                         }
                         else;
                     }
    }
    for(i=0;i<l;i++)
    {
                    if(count[i]==max)
                    {
                                     printf("%c",zfc[i]);
                    }
    }
    printf("\n");
    for(i=0;i<l;i++)
    {
                    if(count[i]==min)
                    {
                                     printf("%c",zfc[i]);
                    }
    }
    return 0;
}
int main()
{
	char s[3000],word[50][200]={0};	
	int len,i;
	int word_num,char_num;
	int min_num,max_num;
	int min,max;   
	
	gets(s);

	min_num = 0;
	max_num = 0;
	len=strlen(s);	
	for(i=0;i<len;i++){	
		if(s[i]!=' '){	
			word[word_num][char_num]=s[i];
			char_num++;
		}
		else if(s[i]==' '){		
			word_num++;
			char_num=0;
		}
	}

	min = 0;
	max = 0;
	min_num=strlen(word[0]);
	max_num=strlen(word[0]);
	for(i=1;i<=word_num;i++){
		if(strlen(word[i])<min_num){
			min_num=strlen(word[i]);
			min=i;
		}
		if(strlen(word[i])>max_num){
			max_num=strlen(word[i]);
			max=i;
		}
	}
	
	printf("%s\n%s\n",word[max],word[min]);		
	
	return 0;
}
int main()    
{
char s[5000];
char t[100][50]={0};
int i,j,k,index,max,min;
gets(s);
    index=0;
	for(i=0;;i++){
		for(k=0;;){
			if(s[index]!=' '&&s[index]!=0){
				t[i][k]=s[index];
				index++;
				k++;
			}else{
				index++;
				break;
			}
		}
		if(s[index-1]==0){
			break;
		}
	}
	max=min=0;
	for (j=1; j<=i; j++) {
        if (strlen(t[j]) < strlen(t[min])) {
            min = j;
        }
        if (strlen(t[j]) > strlen(t[max])) {
            max = j;
        }
    }
	puts(t[max]);
    puts(t[min]);
	return 0;
}
int main()
{
 char str[500],c;
 char p[50]="";
 int i=0,j=0,max=0,min=50,l1=0,l2=0;
    gets(str);
 do
 {
  c=str[i];
  if(c==' '||c=='\0')
  {
   if(j<min){min=j;l2=i-j;}
   if(j>max){max=j;l1=i-j;}   
   j=0;   
  }
  else
   j++;
  i++;
 }while(c!='\0');
 memcpy(p,str+l1,max);
 printf("%s\n",p);
 memcpy(p,"",50);
 memcpy(p,str+l2,min);
 printf("%s\n",p);
 return 0;
}
int main()
{
	char a[4000],b[200][20]={'\0'};
	int i,j=0,k=0,len,max=0,min=0;
    gets(a);
	len=strlen(a);
	b[j][k++]=a[0];
	for(i=1;i<len;i++)
	{
		if(a[i]==' ')
		{
			j++;
			k=0;
		}
		else
		{
			b[j][k++]=a[i];
		}
	}
	for(i=0;i<=j;i++)
	{
		if(strlen(b[max])<strlen(b[i]))max=i;
		if(strlen(b[min])>strlen(b[i]))min=i;
	}
	printf("%s\n%s\n",b[max],b[min]);
	return 0;
}
int main()
{
    int n;
    char word[40],max[40],min[40];
    int j,i;
    scanf("%d",&n);
    scanf("%s",max);
    strcpy(min,max);
    for(i=1;i<n;i++)
    {
        scanf("%s",word);
        if(strlen(word)>strlen(max))strcpy(max,word);
        if(strlen(word)<strlen(min))strcpy(min,word);
    }
    printf("%s\n",max);
    printf("%s",min);

}
int max(int x,int y)
{
	if(x>y)
		return(x);
	else return(y);
}

int min(int x,int y)
{
	if(x<y)
		return(x);
	else return(y);
}

void main()
{
	char c[1000];
	int a[50],b[50];
	int i,j,n,k=0,MAX,MIN;
	gets(c);
	n=strlen(c);
	
	for(i=0;i<n;i++)
		if(c[i]==' ')
		{a[k]=i;k++;}
		
	b[0]=a[0];
    a[k]=n;

	for(i=1;i<=k;i++)
		b[i]=a[i]-a[i-1]-1;
    
	MAX=MIN=b[0];
    for(i=0;i<=k;i++)
	{MAX=max(MAX,b[i]);
	MIN=min(MIN,b[i]);
	}

	for(i=0;i<=k;i++)
		if(b[i]==MAX)
		{
		
		for(j=a[i]-b[i];j<a[i];j++)
			printf("%c",c[j]);
		printf("\n");
		break;}
	for(i=0;i<=k;i++)
		if(b[i]==MIN)
		{
		
		for(j=a[i]-b[i];j<a[i];j++)
			printf("%c",c[j]);
		printf("\n");
		break;
		}
}
void main()
{
	char c[50][100];
	int len[50];
	int i,j,n;
	for(i=0;scanf("%s",c[i])!=EOF;i++)
	{
		len[i]=strlen(c[i]);
	}
	n=i;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(len[i]<len[j])
				break;
		}
		if(j==n)
		{
			printf("%s\n",c[i]);
			break;
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(len[i]>len[j])
				break;
		}
		if(j==n)
		{
			printf("%s\n",c[i]);
			break;
		}
	}
	
}
int main()
{
	int i,j,s,s1,s2,b,b1,b2,n[50];
	char c,a[1000];
	gets(a);
	for(i=0,j=0;(c=a[i])!='\0';i++)
	{
		if(c==' ')
		{
			n[j]=i; j++;
		}
	}
	n[j]=i;
	b=n[0]+1;s=n[0]+1;
	for(i=0; i<j ; i++)
	{	
		if((n[i+1]-n[i])>b) {b=n[i+1]-n[i];b1=n[i];b2=n[i+1];}		
		if((n[i+1]-n[i])<s) {s=n[i+1]-n[i];s1=n[i];s2=n[i+1];}		
	}
	if (b==n[0]+1)
	{	for(i=0;i<b-1;i++)
	printf("%c", a[i]);}
	else
	{	for(i=b1+1;i<b2;i++)
	printf("%c", a[i]);}
	printf("\n");
	if(s==n[0]+1)
	{   for(i=0;i<s-1;i++)
	printf("%c", a[i]);}
	else 
	{	for(i=s1+1;i<s2;i++)
	printf("%c", a[i]);}
	printf("\n");
	return 0;
}
int main(int argc, char* argv[])
{
	char str[1000],a[50][100],b[50][100],min[100],max[100],temp[100],temp1[100];
	int n,i,m,l,flag,num;
	gets(str);
	flag=0;
	num=0;
	for(i=0;i<strlen(str);i++)
	{
		if(str[i]==' ')
			flag=0;
		else if(flag==0)
		{
			flag=1;
			num++;
		}
	}
	for(i=0;i<num;i++)
	{
		static int j=0;
		for(m=0;j<strlen(str),m<strlen(str);j++,m++)
		{
	    	if(str[j]==' ')
			{
	    		m--;
		    	continue;
			}
	    	else
			{
		    	a[i][m]=str[j];
				if(str[j+1]==' ')
				{
					a[i][m+1]='\0';
					j++;
					break;
				}
			}
		}
	}
	for(i=0;i<num;i++)
	{
		strcpy(b[i],a[i]);
	}
	for(i=0;i<num;i++)
	{
		for(n=i+1;n<num;n++)
		{
			if(strlen(a[i])>strlen(a[n]))
			{
				strcpy(temp,a[i]);
				strcpy(a[i],a[n]);
				strcpy(a[n],temp);
			}
		}
	}
	strcpy(min,a[0]);
	strcpy(max,a[num-1]);
	for(i=0;i<num;i++)
	{
		if(strlen(min)==strlen(b[i]))
			break;
	}
	for(l=0;l<num;l++)
	{
		if(strlen(max)==strlen(b[l]))
			break;
	}
	puts(b[l]);
	puts(b[i]);
	return 0;
}
int main()
{
 int strNnum=0,strMnum=0,max,min,maxstr=0,minstr=0,i,len;
 char string[N][M],ch;
 while((ch=getchar())!='\n') {
  if(strMnum!=0&&(ch==' '))
  {
  string[strNnum][strMnum]='\0';
  strNnum++;strMnum=0;
  }
  else
   if(ch!=' ')
  {
  string[strNnum][strMnum]=ch;
  strMnum++;
  }
 }
 string[strNnum][strMnum]='\0';
 
 max=min=(int)strlen(string[0]);
 for(i=1;i<=strNnum;i++)
 {
  len=(int)strlen(string[i]);
  
  if(len>max)
  {maxstr=i;max=len;}
   if(len<min)
  {minstr=i;min=len;}   
 }
 printf("%s\n",string[maxstr]);
printf("%s\n",string[minstr]);
return 0;
}
int main()
{
  char s[1500],*ps,l[1500];
  int a[200]={0},i=0,n,m,c=0,d=0,k;
  scanf("%s",s);
  strcpy(l,s);
  gets(s);
  strcat(l,s);
  for(ps=l;*ps!=0;ps++)
  { 
    if(*ps!=' '&&*ps!=','){
        a[i]++;
     }else if(*ps==' '||*ps==','){
        i++; }
   }
  k=i;
 n=a[0];m=a[0];
 for(i=0;i<k+1;i++){if(a[i]!=0){
   if(a[i]<n){n=a[i];c=i;}
   if(a[i]>m){m=a[i];d=i;}}
  }
 i=0;
 for(ps=l;*ps!=0;ps++){
  if(*ps==' '||*ps==','){
      i++;}
  if(i==d){i=1000;if(*ps==' '||*ps==','){ps++;}}
  if(i==1000){printf("%c",*ps);}
 }
 printf("\n");
 i=0;
 for(ps=l;*ps!=0;ps++){
  if(*ps==' '||*ps==','){
      i++;}
  if(i==c){i=1000;if(*ps==' '||*ps==','){ps++;}}
   if(i==1000){printf("%c",*ps);}
  }
 return 0;
}
void main()
{
	char a[1000];
	int i,j,k=1,mid;
	int b[60],c[60],d[60];
	b[0]=0;
	gets(a);
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]==' ')
		{
			b[k]=i;k++;
		}
	}
	b[k]=strlen(a);
	c[0]=b[1]-b[0];
	for(i=1;i<k;i++)c[i]=b[i+1]-b[i]-1;
	for(i=0;i<k;i++)d[i]=c[i];
	for(i=0;i<k-1;i++)
	for(j=0;j<k-1-i;j++)
	{
		if(c[j]>c[j+1])
		{
			mid=c[j];c[j]=c[j+1];c[j+1]=mid;
		}
	}
	if(d[0]==c[k-1])
	{
		for(i=0;i<b[1];i++)printf("%c",a[i]);
	}
	else
	{
	    for(i=1;i<k;i++)
	    {
		    if(d[i]==c[k-1])
		    {
			    for(j=b[i]+1;j<b[i+1];j++)printf("%c",a[j]);
			    break;
		    }
	    }
	}
	printf("\n");
	if(d[0]==c[0])
	{
		for(i=0;i<b[1];i++)
		printf("%c",a[i]);
	}
	else
	{
		for(i=1;i<k;i++)
	    {
		    if(d[i]==c[0])
		    {
			    for(j=b[i]+1;j<b[i+1];j++)printf("%c",a[j]);
			    break;
		    }
	    }
	}
}
void main()
{
	int lo=1,sh=1000,i=0;
	char a[50][20];
	int len[50];
	char longest[20],shortest[20];
	while(scanf("%s",&a[i])!=EOF)
	{
		len[i]=strlen(a[i]);
		if(len[i]>lo) {strcpy(longest,a[i]);lo=len[i];}
		if(len[i]<sh) {strcpy(shortest,a[i]);sh=len[i];}
		i=i+1;
	}
	printf("%s\n",longest);
	printf("%s",shortest);
}
int main()
{
char a[100]={0},b[100][100]={0};
int i,j,m=0,n=1,k=0,max=0,min=0;
gets(a);
m=strlen(a);
for(j=0;j<=m-1;j++)
	if(a[j]==32)
		n++;
for(j=0;j<=n-1;j++)
{
	for(i=0;a[k]!=32;i++)
	{
		b[j][i]=a[k];
		k++;
	}
	if(a[k]==32)
		k++;
}
for(j=0;j<=n-2;j++)
{
	if(strlen(b[j+1])>strlen(b[max]))
		max=j+1;
	else if(strlen(b[j+1])<strlen(b[min]))
		min=j+1;
}
puts(b[max]);
puts(b[min]);
}
int main()
{
	char b[20000],a[200][100];
	int i,n,x=0,k=0,len[200],max,min;
	gets(b);
	n=strlen(b);
    for(i=0;i<n;i++){
		if(b[i]!=' '&&b[i]!=','){
			a[x][k]=b[i];
			k++;
		}
		else{
			if(k==0)
				continue;
			a[x][k+1]='\0';
			len[x]=k;
			k=0;
			x++;
		}
	}
    len[x]=k;
	a[x][k+1]='\0';
	max=0;
	min=0;
	for(i=0;i<=x;i++){
		if(len[i]>len[max])
			max=i;
		if(len[i]<len[min])
			min=i;
	}
	printf("%s\n%s",a[max],a[min]);
	return 0;
}
int main()
{
	char danchi[1000];
	char e[50][1000];
	int k[50];
	int i,j,g=0,l=0,a,v=0,m=0;
	int max=0,min=100,max1,min1;
	gets(danchi);
         int c=strlen(danchi);	
	for(j=0;j<50;j++)
	{        
                  l=0;	
		for(i=g;i<100;i++)
			{				
				 if(danchi[i]==' '){m++;break;}
				e[j][l]=danchi[i];
				g++;
				l++;v++;
                                    
			}g++;l++;v++;
		k[j]=strlen(e[j]);
                if(v>c)break;
		
	}
	for(a=0;a<j+1;a++)
	{
		if(k[a]==0)
			break;
		if(max<k[a])
			{
				max=k[a];
				max1=a;
			}
		if(min>k[a])
			{
				min=k[a];
				min1=a;
			}
         if(a>m)break;
	}
	printf("%s\n",e[max1]);
	printf("%s\n",e[min1]);
	return 0;
}
//
// ????1.cpp
// ?????????
// ?????? 1200012943
// ??:2012.12.26
//
int main()
{
	int len1 = 0, len2 = 50, len = 0;
	char str[2000], w1[50], w2[50];
	cin.getline(str, 2000);
	int i, j = 0, k;
	for (i = 0; str[i] != '\0'; i++)
	{
		if(str[i] != ' ' && str[i] != ',')
			len++;
		else
		{
			if(len > len1)
			{
				len1 = len;
				int m = 0;
				for(k = j; k < i; k++)
					w1[m++] = str[k];
				w1[m] = '\0';
			}
			if(len < len2)
			{
				len2 = len;
				int n = 0;
				for(k = j; k < i; k++)
					w2[n++] = str[k];
				w2[n] = '\0';
			}
			len = 0;
			if(str[i] == ',')
				i++;
			j = i + 1;
		}
	}
	if(len > len1)			
	{
		int m = 0;
		for(k = j; k < i; k++)
			w1[m++] = str[k];
		w1[m] = '\0';
	}
	if(len > 0 && len < len2)
	{
		int n = 0;
		for(k = j; k < i; k++)
			w2[n++] = str[k];
		w2[n] = '\0';
	}
	cout << w1 << endl;
	cout << w2 << endl;
	return 0;
}
int main(){
char s[10000],d[200][50],b[50],c[50];
int i,j,l,n=0,k=0,p,q,m;
gets(s);
l=strlen(s);
for(i=0;i<l;i++){
if(s[i]!=' '){
d[n][k]=s[i];
k++;
}
else{

n++;
k=0;
}}
n++;
p=strlen(d[0]);
q=p;
strcpy(b,d[0]);
strcpy(c,d[0]);
for(j=1;j<n;j++){
m=strlen(d[j]);
if(p<m){
p=strlen(d[j]);
strcpy(b,d[j]);
}
if(q>m){
q=strlen(d[j]);
strcpy(c,d[j]);
}}

printf("%s\n%s",b,c);
return 0;
}
void main()
{
	int i,j=0,k=0,n=0,m=0,max,min,a[100]={0};
	char str[1000]={0},*p,s[100][100]={0},(*ip)[100];
	gets(str);
	for(p=str;*p!='\0';p++)
	{
		if(*p==' ')
		{j=0;k++;}
		if(*p!=' ')
		{*(a+k)=*(a+k)+1;*(*(s+k)+j)=*p;j++;}
	}
	max=*a;min=*a;
	for(i=0;i<=k;i++)
		{
			if(max<*(a+i))
			{max=*(a+i);m=i;}
			if(min>*(a+i))
			{min=*(a+i);n=i;}
		}
		ip=s;
		printf("%s\n%s",*(ip+m),*(ip+n));
	
}
void main()
{
	char *p;
	int *q,n,i,j=0,max=0,min=100,k,l=0;
	p=(char*)malloc(1000*sizeof(char));
	q=(int*)malloc(50*sizeof(int));
	for(i=0;i<50;i++)
		*(q+i)=0;
	gets(p);
	n=strlen(p);
	for(i=0;i<n;i++)
	{
		if(*(p+i)!=32)(*(q+j))++;
	    else {j++;*(p+i)=0;}
	}
	for(i=0;i<=j;i++)
	{if(max<*(q+i))max=*(q+i);
	if(min>*(q+i))min=*(q+i);}
	for(i=0;i<=j;i++)
		if(max==*(q+i))break;
	for(k=0;k<n;k++)
	{if(i==l)break;
	if(*(p+k)==0)l++;}
	printf("%s\n",p+k);
         l=0;
	for(i=0;i<=j;i++)
		if(min==*(q+i))break;
	for(k=0;k<n;k++)
	{if(i==l)break;
	if(*(p+k)==0)l++;}
	printf("%s",p+k);


}
void main()
{
	char a[200][30],c[500],temp[30];
	int i,j,k,p,m,l,d;
	gets(c);
	for(i=0;;i++)
	{	if(c[i]==' '||c[i]==','||c[i]=='\0')  
		{
			k=i;
			strncpy(a[0],c,k);
			a[0][k]='\0';
			break;
		}
	}
	if(c[i]=='\0')  {printf("%s\n",a[0]);printf("%s\n",a[0]);}
	else
	{	for(m=1,i=k;;i++)
	{	if(c[i]==' '||c[i]==',')
		{
			for(j=i+2;;j++)
			{
				if(c[j]==' '||c[j]==','||c[j]=='\0')
				{	for(p=0;p<j-i-1;p++)
					   a[m][p]=c[i+1+p];
				a[m][j-i-1]='\0';
				     m++;
					 break;
				}
			}
			if(c[j]=='\0') break;
		}
	}
	strcpy(temp,a[0]);
	for(i=1;i<m;i++)
	{
		l=strlen(temp);
		d=strlen(a[i]);
		if(d>l) strcpy(temp,a[i]);
	}
	printf("%s\n",temp);

    strcpy(temp,a[0]);
	for(i=1;i<m;i++)
	{
		l=strlen(temp);
		d=strlen(a[i]);
		if(d<l) strcpy(temp,a[i]);
	}
	printf("%s\n",temp);
	}

}
int main()
{
	char a[510],*p;
	int i,n,s1,s2,c,d,k,chang=0,duan=0;
	gets(a);
	p=a;
	for(i=0;*(p+i)!='\0';i++)
		if(*(p+i)==' '){s1=s2=i;break;}
	for(i=1;*(p+i)!='\0';i++)
		if(*(p+i-1)==' ')
		{
			c=i;
			for(k=i;;k++)
				if(*(p+k)==' '||*(p+k)=='\0')
				{
					d=k;
					break;
				}
				if(d-c>s1){s1=d-c;chang=c;}
		}
	for(i=1;*(p+i)!='\0';i++)
		if(*(p+i-1)==' ')
		{
			c=i;
			for(k=i;;k++)
				if(*(p+k)==' '||*(p+k)=='\0')
				{
					d=k;
					break;
				}
				if(d-c<s2){s2=d-c;duan=c;}
		}
	for(i=chang;i<chang+s1;i++)
		printf("%c",*(p+i));
	printf("\n");
	for(i=duan;i<duan+s2;i++)
		printf("%c",*(p+i));
	return 0;
}
int main(){
int i=0,j=0,l=0,o=0,k=0,p;
char m[10000],n[100][100];
gets(m);
for(;m[i]!='\0';i++){
                 if(m[i]==' '){
                         k=0;
                         j++;
                        }
                 else {
                      n[j][k]=m[i];
                 k++;}
                }                
for(i=1;i<=j;i++){
    if(strlen(n[i])>strlen(n[o])) o=i;
    if(strlen(n[i])<strlen(n[l]))  l=i;}
cout<<n[o]<<endl<<n[l]<<endl;                                                                                                       

return 0;
}
int max(int a,int b)
{
    return (a>b?a:b);
}
int min(int a,int b)
{
    return (a<b?a:b);
}
int main()
{
    int i=0,j,ex,lenth[200]={0},imin=100,imax=0,k=0;
    char s[200][50],c;
    while (1)
    {
        c=getchar();
        if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
        {
            ex=1;
            lenth[k]++;
            s[k][i++]=c;
        }
        else if(ex==1)
        {
            imax=max(imax,lenth[k]);
            imin=min(imin,lenth[k]);
            ex=0;
            k++;
            i=0;
        }
        if(c=='\n')
        break;
    }
    for(i=0;;i++)
    {
        if(lenth[i]==imax)
        {
            for(j=0;j<lenth[i];j++)
            putchar(s[i][j]);
            putchar('\n');
            break;
        }

    }
    for(i=0;;i++)
    {
        if(lenth[i]==imin)
        {
            for(j=0;j<lenth[i];j++)
            putchar(s[i][j]);
            putchar('\n');
            break;
        }
    }
    return 0;
}
int main()
{	
	int n,i,j,m,a=0,b=100,p,t;	
	char c[203][1050];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
			scanf("%s",c[i]);
			strlen(c[i]);
			if(strlen(c[i])>a)
			{
				a=strlen(c[i]);
				p=i;
			}
			if(strlen(c[i])<b)
			{
				b=strlen(c[i]);
				t=i;
			}	
	}
	printf("%s\n",c[p]);
	printf("%s\n",c[t]);
	return 0;
}
void main()
{
	char c;
	int max,min;
	max=0;
	min=0;
	char *maxs;
	char *mins;
	char *temp;
	int i,k,p;
	maxs=(char*)malloc(1);
	mins=(char*)malloc(1);
	i=0;
	p=0;
	temp=(char*)malloc(sizeof(char)*30);
    c=getchar();
	while(c!='\n')
	{
		if (c!=' ')
		{
			*(temp+i)=c;
			i++;
		}
		else
		{
			if (p==0)
			{		
				free(mins);
				mins=(char*)malloc(sizeof(char)*(i+1));
				for (k=0;k<=i;k++) *(mins+k)=*(temp+k);
				min=i;
				p=1;

			}
			if (i>max)
			{
				free(maxs);
				maxs=(char*)malloc(sizeof(char)*(i+1));
				for (k=0;k<=i;k++) *(maxs+k)=*(temp+k);
				max=i;
			}
			if (i<min)
			{
				free(mins);
				mins=(char*)malloc(sizeof(char)*(i+1));
				for (k=0;k<=i;k++) *(mins+k)=*(temp+k);
				min=i;
			}
			i=0;
			free(temp);
			temp=(char*)malloc(sizeof(char)*30);
		}
		c=getchar();
	}
	if (i>max)
	{
		free(maxs);
		maxs=(char*)malloc(sizeof(char)*(i+1));
		for (k=0;k<=i;k++) *(maxs+k)=*(temp+k);
		max=i;
	}
	if (i<min)
	{
		free(mins);
		mins=(char*)malloc(sizeof(char)*(i+1));
		for (k=0;k<=i;k++) *(mins+k)=*(temp+k);
		min=i;
	}		
	for (k=0;k<max;k++) printf("%c",*(maxs+k));
	printf("\n");
	for (k=0;k<min;k++) printf("%c",*(mins+k));
}
void main()
{
	char s[500];
	char a[50][20];
	int i,len,j=0,k,max,min;
	gets(s);
	len=strlen(s);
	for(i=0;i<50;i++)
	{
		for(k=0;k<20;k++)
			a[i][k]=0;
	}
	k=0;
	for(i=0;i<len;i++)
	{
		if(s[i]!=' ')
		{
			a[j][k]=s[i];
			k++;
		}
		else
		{
			k=0;
			j++;
		}
	}
	max=strlen(a[0]);
	min=max;
	for(i=1;i<=j;i++)
	{
		if(max<(strlen(a[i])))
			max=strlen(a[i]);
		else if(min>strlen(a[i]))
			min=strlen(a[i]);
	}
	for(i=0;i<=j;i++)
	{
		if(strlen(a[i])==max)
		{
			puts(a[i]);
			break;
		}
	}
	for(i=0;i<=j;i++)
	{
		if(strlen(a[i])==min)
		{
			puts(a[i]);
			break;
		}
	}
}
int main(){
char s[10000],d[200][50],b[50],c[50];
int i,j,l,n=0,k=0,p,q,m;
gets(s);
l=strlen(s);
for(i=0;i<l;i++){
if(s[i]!=' '){
d[n][k]=s[i];
k++;
}
else{
d[n][k]='\0';
n++;
k=0;
}}
d[n][k]='\0';
p=strlen(d[0]);
q=p;
strcpy(b,d[0]);
strcpy(c,d[0]);
for(j=1;j<=n;j++){
m=strlen(d[j]);
if(p<m){
p=strlen(d[j]);
strcpy(b,d[j]);
}
if(q>m){
q=strlen(d[j]);
strcpy(c,d[j]);
}}

printf("%s\n%s",b,c);
return 0;
}