//#include //using namespace atcoder; #include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(v) v.begin(),v.end() typedef long long ll; #define int ll using vi = vector; using vs = vector; using P = pair; template bool chmax(T &a, const T b) {if (a < b) {a = b; return true;} else return false; } template bool chmin(T &a, const T b) {if (a > b) {a = b; return true;} else return false; } const int INF = 1e18; //using mint = modint1000000007; //using mint = modint998244353; int f(int n){ int res = 1; rep(i,n)res*=i+1; return res; } signed main() { cin.tie(0); ios_base::sync_with_stdio(false); cout << fixed << setprecision(20); int a,b;cin>>a>>b; cout << f(a|b) <<"\n"; return 0; }