#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n,m,k;
long long f=1,p=1000000007;
cin >> n >> m;
if (abs(n-m)>1) cout << "0";
else {
k=min(n,m);
for (int i=1; i<=k; i++) {
f=f*i;
if (f>=p) f=f%p;
}
f=f*f;
if (f>=p) f=f%p;
if (n==m) f=2*f;
else f=f*max(n,m);
if (f>=p) f=f%p;
cout << f;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuLG0sazsKCWxvbmcgbG9uZyBmPTEscD0xMDAwMDAwMDA3OwoJY2luID4+IG4gPj4gbTsKCWlmIChhYnMobi1tKT4xKSBjb3V0IDw8ICIwIjsKCWVsc2UgewoJCWs9bWluKG4sbSk7CgkJZm9yIChpbnQgaT0xOyBpPD1rOyBpKyspIHsgCgkJCWY9ZippOwoJCQlpZiAoZj49cCkgZj1mJXA7CgkJfQoJCWY9ZipmOwoJCWlmIChmPj1wKSBmPWYlcDsKCQlpZiAobj09bSkgZj0yKmY7CgkJZWxzZSBmPWYqbWF4KG4sbSk7CgkJaWYgKGY+PXApIGY9ZiVwOwoJCWNvdXQgPDwgZjsKCX0KCXJldHVybiAwOwp9