#include <bits/stdc++.h>
long long m1, w;
int flag = 0;
void check(long long m) {
  if (m < w) {
    if (m == w - 1) {
      flag = 1;
      return;
    }
    if (m == 1) {
      flag = 1;
      return;
    } else {
      return;
    }
  }
  if (m % w == 0) {
    check(m / w);
    return;
  }
  if (m % w == 1) {
    check((m - 1) / w);
    return;
  }
  if (m % w == w - 1) {
    check((m + 1) / w);
    return;
  }
  return;
}
int main() {
  scanf("%lld", &w);
  ;
  scanf("%lld", &m1);
  ;
  long long i;
  check(m1);
  if (flag == 0)
    printf("NO");
  else
    printf("YES");
  return 0;
}
