#include <bits/stdc++.h>
#include <fstream>
	
	
#define ll long long
#define pi pair<int,int>
#define pll pair<long,long>
#define vi vector<int>
#define vvi vector<vi>
#define vvvi vector<vvi>
#define vvvvi vector<vvvi>
#define vc vector<char>
#define vll vector<long long>
#define vpi vector<pi>
#define vpll vector<pll>
#define pb push_back
#define vvv(type, name, h, w, ...) vector<vector<vector<type>>> name(h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))
#define all(v) v.begin(), v.end()
#define pq(type) priority_queue<type>
#define inp(n, mas) for(int i=0;i<n;i++)cin>>mas[i];
#define vb vector<bool>
#define mp make_pair





///////////////////////////////////////////
#define hello ivanmordvintsevgay
///////////////////////////////////////////	
	
	
	
using namespace std;
	
const int dx[4] = {1,0,-1,0}, dy[4] = {0,1,0,-1};
	
bool comp(string a, string b)
{
	for (int i = 0; i < min(a.length(), b.length()); i++)
	{
		if (a[i] < b[i]) return true;
		if (a[i] > b[i]) return false;
	}
	return (a.length() < b.length());
}

int bin_poisk(const

vector <string> &d, string z)

{

  int l = 0;

  int r = d.size() - 1;

  while (l < r) {

    int m = (l + r ) / 2;

    if (comp(z, d[m]))

      r = m;

    else

      l = m + 1;

  }

  if (d[r] == z)

    return r;

  else

    return r;

}

int plus(int a, int b)
{
	return (a + b) % 4;
}
	
void solve()
{
	int m, h;
	cin >> m >> h;
	cout << ((h % m == 0) ? "Yes":"No");
}
	
int main()
{
	/*ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);*/	
	int t = 1;
	//cin >> t;
	while (t--)
	{
		solve();
		cout << endl;
	}
}
#include<bits/stdc++.h>
#define io ios_base::sync_with_stdio(false); cin.tie(NULL)

#define nl "\n"
#define fr first
#define sc second
#define MP make_pair
#define pb push_back
#define VI vector<int>
#define VII vector<ll>
#define MAP map <ll,ll>
#define PI pair < int , int >
#define sz(v) (int)(v).size()
#define all(v) v.begin(),v.end()
#define mem(a,val) memset(a,val,sizeof(a))
#define precise(n) fixed(cout);cout<<setprecision(n)
#define in(v) for(auto &it : v) cin >> it
#define out(v) for(auto &it : v) cout << it << " "; cout << nl
#define casee(v) cout << "Case " << CASE << ": " << v << nl
#define des (res ? "Yes" : "No")

typedef long long ll;
typedef double db;

const int N = (int)4e7;
const int MOD = (int)1e9 + 7;
const double pi = 2 * acos(0.0);
const double eps = 1e-9; // 10^-9 = 0.0000000001

using namespace std;

bool isEqual(db a, db b) {
    return abs(a - b) <= eps;
}
bool isGreater(db a, db b) {
    return a > b + eps;
}
bool isSmaller(db a, db b) {
    return a + eps < b;
}

void execution() {

    int m, h;
    cin >> m >> h;

    bool res = false;
    if (((h / m)*m) == h)
        res = true;

    cout << des << nl;
}


int main()
{
    io;

#ifdef CODE_MAFIA
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
#endif

    ///Let the showdown begin

    //ll t;
    //cin >> t;
    //while (t--) {
    execution();
    //}

    ///Happily DONE

    return 0;
}


