fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <queue>
  4. #include <string>
  5. #include <algorithm>
  6. #include <utility>
  7. #include <cmath>
  8. using namespace std;
  9.  
  10. typedef pair<int, int> P;
  11. typedef long long ll;
  12.  
  13. const int INF = 1000000007;
  14.  
  15. ll factorial(ll n){
  16. if(n == 1){
  17. return 1;
  18. }
  19. return ( n * factorial(n-1) ) % INF;
  20. }
  21. int main(void){
  22. ll n, m;
  23. cin >> n >> m;
  24. if(abs(n-m) > 1){
  25. cout << "0" << endl;
  26. return 0;
  27. }
  28. ll sum = ((factorial(n) % INF ) * (factorial(m) % INF)) % INF;
  29. ll ans;
  30. if(n == m){
  31. ans = (sum*2) % INF;
  32. }else{
  33. ans = sum;
  34. }
  35. cout << ans << endl;
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0s 17496KB
stdin
100000 100000
stdout
530123477