#include <stdio.h>
#include <stdlib.h>

int duzina_broja(x){
  int c = 0;
  while(x != 0){
    x /= 10;
    c ++;
  }
  return c;
}

int stepen(int x, int stepen){
  for(int i = 1; i < stepen; i ++){
    x *= 10;
  }
  return x;
}

void print_niz(int *niz, int len){
  for(int i = 0; i < len; i ++){
    printf("%d ", niz[i]);
  }
}

int *shift(int *niz, int len, int index){
  for(int i = 1; i < index; i ++){
    niz[i - 1] = niz[i];
  }
  return niz;
}

int main(void) {
  int x, y;
  scanf("%d", &x);
  scanf("%d", &y);

  int *cifre_x;
  int *cifre_y;
  int *cifre_xy;
  
  int duzina_x = duzina_broja(x);
  int duzina_y = duzina_broja(y);
  int duzina_xy = duzina_x + duzina_y;
  
  cifre_x = (int *)malloc(sizeof(int) * duzina_xy);

  for(int i = duzina_xy - 1; i > duzina_xy - duzina_x - 1; i --){
    cifre_x[i] = x % 10;
    x /= 10;
  }

  for(int i = 0; i < duzina_xy - duzina_x; i ++){
    cifre_x[i] = -1;
  }
  
  cifre_y = (int *)malloc(sizeof(int) * duzina_xy);

  for(int i = duzina_xy - 1; i > duzina_xy - duzina_y - 1; i --){
    cifre_y[i] = y % 10;
    y /= 10;
  }

  for(int i = 0; i < duzina_xy - duzina_y; i ++){
    cifre_y[i] = -1;
  }
  
  cifre_xy = (int *)malloc(sizeof(int) * duzina_xy);
  
  for(int i = duzina_xy - 1; i > 0; i --){
    if(cifre_x[i] > cifre_y[i]){
      cifre_xy[i] = cifre_x[i];
    }
    else if(cifre_x[i] < cifre_y[i]){
      cifre_xy[i] = cifre_y[i];
    }
    else{
      shift(cifre_x, duzina_xy, i + 1);
      shift(cifre_y, duzina_xy, i + 1);
      cifre_x[i] = 0;
      cifre_y[i-1] = 0;
      if(cifre_x[i] > cifre_y[i]){
      cifre_xy[i] = cifre_x[i];
      }
      else{
        cifre_xy[i] = cifre_y[i];
      }
    }
    
  }

  int rezultat = 0;
  
  for(int i = duzina_xy - 1; i >= 0; i --){
    rezultat += stepen(cifre_xy[i], duzina_xy-i);
  }

  printf("%d\n", rezultat);

  
  return 0;
}