//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[100]={};
// int i;
// gets(str);
// for(i=0; str[i]!=NULL; i++)
// {
// if(str[i]!=' ')
// {
// printf("%c", str[i]);
// }
// }
// return 0;
//}
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
// char str[11]={};
// int i;
// gets(str);
// for(i=0; str[i]!=NULL; i++)
// {
// if(str[i]=='t')
// {
// printf("%d ", i+1);
// }
// }
// return 0;
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[21]={};
// int i;
// gets(str);
// for(i=0; str[i]!=NULL; i++)
// {
// printf("\'%c\'\n", str[i]);
// }
//}
//a==10||a==20
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[101]={};
// int i, c=0, cc=0;
// gets(str);
// for(i=0; str[i]!=NULL; i++)
// {
// if(str[i]=='c'||str[i]=='C')
// {
// c++;
// if(str[i+1]=='c'||str[i+1]=='C')
// {
// cc++;
// }
// }
// }
// printf("%d", c);
// printf("\n%d", cc);
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[51]={};
// int i, h=0;
// int len;
// gets(str);
// len = strlen(str); //str문자열의 길이 구하기
// for(i=0; i<len; i++)
// {
// if(str[i]==str[i+1])
// {
// h+=5;
// }
// else
// {
// h+=10;
// }
// }
// printf("%d", h);
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[101]={};
// int i, len;
// gets(str);
// len = strlen(str);
// for(i=0; i<len; i++)
// {
// printf("%c", str[len-i-1]);
// }
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char s1[21]={}, s2[21]={}, s3[21]={};
// int i, len1, len2, len3;
// gets(s1);
// gets(s2);
// gets(s3);
// len1=strlen(s1);
// len2=strlen(s2);
// len3=strlen(s3);
// if(s1[len1-1]==s2[0]&&s2[len2-1]==s3[0]&&s3[len3-1]==s1[0])
// {
// printf("good");
// }
// else
// {
// printf("bad");
// }
//}
//
//아스키코드 : 각 문자마다 고유의 코드넘버
//
//'a' 97
//'b' 98
//'c' 99
//...
//'z'
//
//'A' 65
//'B' 66
//...
//'Z'
//
//' ' 32
//'!'
//
//'0' 48
//'1' 49
//'2' 50
//....
//'9'
//
//'10' (x)
//
// '\0' 0 NULL
//
// str[i]==0 -> 널이냐?
// str[i]=='0' -> 문자0이냐 ?
//
//
//대소문자변환
//
//
//str[i]+32 -> 대문자를 소문자로 변환
//
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// printf("%d",'a');
//
// printf("%c",'a'-32);
//
// if(str[i]=='t')
//
// if(str[i]==116)
//
//
// if(97<=str[i] && str[i]<='z')
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[1001]={};
// int i;
// scanf("%s", str);
// for(i=0; str[i]!=NULL; i++)
// {
// if('a'<=str[i]&&str[i]<='z')
// {
// printf("%c", str[i]-32);
// }
// else if('A'<=str[i]&&str[i]<='Z')
// {
// printf("%c", str[i]+32);
// }
// else
// {
// printf("%c", str[i]);
// }
// }
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[21]={};
// int i;
// scanf("%s", str);
// for(i=0; str[i]!=NULL; i++)
// {
// printf("%c", str[i]+2);
// }
// printf("\n");
// for(i=0; str[i]!=NULL; i++)
// {
// printf("%c", (str[i]*7)%80 + 48);
// }
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char str[201]={};
// int i;
// gets(str);
// for(i=0; str[i]!=NULL; i++)
// {
// if('d'<=str[i]&&str[i]<='z')
// {
// printf("%c", str[i]-3);
// }
// else if('a'<=str[i]&&str[i]<='c')
// {
// printf("%c", str[i]+23);
// }
// else
// {
// printf(" ");
// }
// }
//}
#include<stdio.h>
#include<string.h>
int main()
{
char str[101]={}, str2[101]={};
int i, len1, len2;
scanf("%s", str);
scanf("%s", str2);
len1=strlen(str);
len2=strlen(str2);
if(len1<len2)
{
printf("%s ", str);
printf("%s", str2);
}
else if(len1>len2)
{
printf("%s ", str2);
printf("%s", str);
}
else
{
for(i=0; str[i]!=NULL; i++)
{
if(str[len1-i-1]<str2[len2-i-1])
{
printf("%s ", str);
printf("%s", str2);
break;
}
else if(str[len1-i-1]>str2[len2-i-1])
{
printf("%s ", str2);
printf("%s", str);
break;
}
}
}
}