#include <stdio.h>
#include <string.h>

#define mlen 1010

char s[mlen];

void Read( int *a )
{
  int n, i;

  scanf("%s", s);
  n = strlen(s);
  memset(a, 0, sizeof(a[0]) * mlen);
  for (i = 0; i < n; i++)
    a[i] = s[n - i - 1] - '0';
}

void Out( int *a )
{
  int i = mlen - 1;
  while (i && !a[i])
    i--;
  while (i >= 0)
    printf("%d", a[i--]);
  puts("");
}

void Add( int *c, int *a, int *b )
{
  int i;

  for (i = 0; i < mlen; i++)
    c[i] = a[i] + b[i];
  for (i = 0; i < mlen; i++)
    if (c[i] >= 10)
      c[i + 1]++, c[i] -= 10;
}

void Sub( int *c, int *a, int *b )
{
  int i;

  for (i = 0; i < mlen; i++)
    c[i] = a[i] - b[i];
  for (i = 0; i < mlen; i++)
    if (c[i] < 0)
      c[i + 1]--, c[i] += 10;
}

void Mul( int *c, int *a, int *b )
{
  int i, j;

  memset(c, 0, sizeof(c[0]) * mlen);
  for (i = 0; i < mlen; i++)
    for (j = 0; i + j < mlen; j++)
      c[i + j] += a[i] * b[j];
  for (i = 0; i < mlen; i++)
    if (c[i] >= 10)
      c[i + 1] += c[i] / 10, c[i] %= 10;
}

int Cmp( int *a, int *b )
{
  int i;

  for (i = mlen - 1; i >= 0; i--)
    if (a[i] != b[i])
      return a[i] - b[i];
  return 0;
}

int a[mlen], b[mlen], c[mlen];

int main()
{
  Read(a);
  Read(b);

  Add(c, a, b);
  printf("sum = ");
  Out(c);

  if (Cmp(a, b) >= 0)
  {
    Sub(c, a, b);
    printf("sub = ");
    Out(c);
  }     
  else
    printf("The first number is less\n");

  Mul(c, a, b);
  printf("mul = ");
  Out(c);

  return 0;
}