/*
TASK:phrope
LANG:C
*/
#include<stdio.h>
#include<string.h>
int main()
{
  char a[52], b[52], pom[52];
  int k, l, f=0, r, p, t, i;
  scanf("%s",&a);
  scanf("%s",&b);
  k=strlen(a);
  l=strlen(b);
  if(strcmp(a,b)>0) {strcpy(pom,a); strcpy(a,b); strcpy(b,pom); f=k; k=l; l=f; f=1;}

  if((b[l-1]-'0')%2==0)
  {
    r=0;
    if(b[0]<'2') {p=(b[0]-'0')*10+b[1]-'0'; t=2;}
	    else {p=b[0]-'0'; t=1;}
    pom[r]=p/2+'0';
    p=(p%2)*10;
    r++;
    for(i=t; i<l; i++)
    {
      p+=b[i]-'0';
      pom[r]=p/2+'0';
      p=(p%2)*10;
      r++;
    }
    pom[r]='\0';
    if(f)  printf("%s %s\n",b,pom);
      else printf("%s %s\n",pom,b);

    return 0;
  }



/////////////////////////////////////////



  if((a[k-1]-'0')%2==0)
  {
    r=0;
    if(a[0]<'2') {p=(a[0]-'0')*10+a[1]-'0'; t=2;}
	    else {p=a[0]-'0'; t=1;}
    pom[r]=p/2+'0';
    p=(p%2)*10;
    r++;
    for(i=t; i<k; i++)
    {
      p+=a[i]-'0';
      pom[r]=p/2+'0';
      p=(p%2)*10;
      r++;
    }
    pom[r]='\0';
    if(strcmp(b,pom)<=0)
    {
      if(f)  printf("%s %s\n",pom,a);
	else printf("%s %s\n",a,pom);
      return 0;
    }
  }



//////////////////////////////////////////////////


  if(b[0]>'4') t=l+1;
	  else t=l;
  r=t-1;
  p=0;
  for(i=l-1; i>=0; i--)
  {
    p+=(b[i]-'0')*2;
    pom[r]=p%10+'0';
    p=p/10;
    r--;
  }
  if(p) pom[0]=p+'0';
  pom[t]='\0';
  if(strcmp(a,pom)>=0)
  {
    if(f)  printf("%s %s\n",b,pom);
      else printf("%s %s\n",pom,b);
    return 0;
  }


  printf("0 0\n");
  return 0;
}
