#include <iostream>
using namespace std;
int main() {
int n, m;
// Reading input until EOF (End of File)
while (cin >> n >> m) {
// Calculate factorial of n
unsigned long long f = 1;
for (int i = 2; i * i <= n; ++i) {
f *= i;
}
// Check if m divides n!
bool d = true; // Assuming m divides n! until proven otherwise
for (int i = 2; i <= n && d; ++i) {
while (n % i == 0) {
if (f % i != 0) {
d = false; // m doesn't divide n!
break;
}
n /= i;
}
}
// Output result
if (d) {
cout << m << " divides " << n << "!\n";
} else {
cout << m << " does not divide " << n << "!\n";
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IG4sIG07CgogICAgLy8gUmVhZGluZyBpbnB1dCB1bnRpbCBFT0YgKEVuZCBvZiBGaWxlKQogICAgd2hpbGUgKGNpbiA+PiBuID4+IG0pIHsKICAgICAgICAvLyBDYWxjdWxhdGUgZmFjdG9yaWFsIG9mIG4KICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZiA9IDE7CiAgICAgICAgZm9yIChpbnQgaSA9IDI7IGkgKiBpIDw9IG47ICsraSkgewogICAgICAgICAgICBmICo9IGk7CiAgICAgICAgfQoKICAgICAgICAvLyBDaGVjayBpZiBtIGRpdmlkZXMgbiEKICAgICAgICBib29sIGQgPSB0cnVlOyAvLyBBc3N1bWluZyBtIGRpdmlkZXMgbiEgdW50aWwgcHJvdmVuIG90aGVyd2lzZQogICAgICAgIGZvciAoaW50IGkgPSAyOyBpIDw9IG4gJiYgZDsgKytpKSB7CiAgICAgICAgICAgIHdoaWxlIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgICAgICBpZiAoZiAlIGkgIT0gMCkgewogICAgICAgICAgICAgICAgICAgIGQgPSBmYWxzZTsgLy8gbSBkb2Vzbid0IGRpdmlkZSBuIQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbiAvPSBpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBPdXRwdXQgcmVzdWx0CiAgICAgICAgaWYgKGQpIHsKICAgICAgICAgICAgY291dCA8PCBtIDw8ICIgZGl2aWRlcyAiIDw8IG4gPDwgIiFcbiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCBtIDw8ICIgZG9lcyBub3QgZGl2aWRlICIgPDwgbiA8PCAiIVxuIjsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K