#include <bits/stdc++.h>
using namespace std;
int mark[(10000000 >> 5) + 1];
void sieve() {
  register int i, j, k;
  (mark[1 >> 5] |= 1 << (1 & 31));
  int n = 10000000;
  for (i = 2; i <= n; i++) {
    if (!(mark[i >> 5] >> (i & 31) & 1)) {
      for (k = n / i, j = i * k; k >= i; k--, j -= i)
        (mark[j >> 5] |= 1 << (j & 31));
    }
  }
}
bool is_prime(long long x) {
  if (x == 1) return false;
  for (int i = 2; i * i <= x; i++)
    if (x % i == 0) return false;
  return true;
}
long long C(long long n, long long k) {
  if (k == 0) return 1;
  return (n * C(n - 1, k - 1)) / k;
}
long long modular_pow(long long budgetase, long long exponent, int modulus) {
  long long result = 1;
  while (exponent > 0) {
    if (exponent % 2 == 1) result = (result * budgetase) % modulus;
    exponent = exponent >> 1;
    budgetase = (budgetase * budgetase) % modulus;
  }
  return result;
}
long long binaryToDec(string number) {
  long long result = 0, pow = 1;
  for (int i = number.length() - 1; i >= 0; --i, pow <<= 1)
    result = (result + (number[i] - '0') * pow) % 1000003;
  return result;
}
long long GCD(long long a, long long b) { return b == 0 ? a : GCD(b, a % b); }
int cntMask(int mask) {
  int ret = 0;
  while (mask) {
    if (mask % 2) ret++;
    mask /= 2;
  }
  return ret;
}
int getBit(int mask, int i) { return ((mask >> i) & 1) == 1; }
int setBit(int mask, int i, int value = 1) {
  return (value) ? mask | (1 << i) : (mask & ~(1 << i));
}
long long mystoi(string s) {
  long long ans = 0;
  long long po = 1;
  for (int i = s.length() - 1; i >= 0; i--) {
    ans += (s[i] - '0') * po;
    po *= 10;
  }
  return ans;
}
int main() {
  string a, b, A = "", B = "";
  long long c, C;
  cin >> a >> b;
  c = mystoi(a) + mystoi(b);
  for (int i = 0; i < int(a.length()); i++)
    if (a[i] != '0') A += a[i];
  for (int i = 0; i < int(b.length()); i++)
    if (b[i] != '0') B += b[i];
  C = mystoi(A) + mystoi(B);
  long long ans = 0;
  long long po = 1;
  while (c) {
    if (c % 10 != 0) {
      ans += (c % 10) * po;
      po *= 10;
    }
    c /= 10;
  }
  if (ans == C)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
}
