Language: C++

igned int f0[1 + MAXF], f1[1 + MAXF];

void init(){
  fs.reserve(1 + MAXP);
  for(int i = 0; i <= MAXP; i++){fs.push_back(i);}
  for(int i = 2; i <= MAXP; i++){
    if (fs[i] == i){
      ps.push_back(i);
      for (int j = i; j <= MAXP; j += i){
        fs[j] = min(fs[j], i);
      }
    }
  }
  f0[0] = 1;
  for(unsigned int i = 1; i <= MAXF; i++){f0[i] = modmul(i, f0[i - 1]);}
  f1[MAXF] = modinv(f0[MAXF]);
  for(unsigned int i = MAXF; 0 < i; i--){f1[i - 1] = modmul(i, f1[i]);}
}
unsigned int modf(unsigned int n){
  return f0[n];
}
unsigned int modp(unsigned int n, unsigned int r){
  return modmul(f0[n], f1[n - r]);
}
unsigned int modc(unsigned int n, unsigned int r){
  return modmul(f0[n], f1[n - r], f1[r]);
}


int main(){
  init();
  int ans = 1;
  INT(n); INT(m);
  auto f = factor(m);
  for (auto pr: f){
    int p = pr.first, r = pr.second;
    ans = modmul(ans, modc(n + r - 1, r));
  }
  printf("%d¥n", ans);
  return 0;
}

Compiler output:
a.cc:1:1: error: 'igned' does not name a type; did you mean 'signed'?
    1 | igned int f0[1 + MAXF], f1[1 + MAXF];
      | ^~~~~
      | signed
a.cc: In function 'void init()':
a.cc:4:3: error: 'fs' was not declared in this scope
    4 |   fs.reserve(1 + MAXP);
      |   ^~
a.cc:4:18: error: 'MAXP' was not declared in this scope
    4 |   fs.reserve(1 + MAXP);
      |                  ^~~~
a.cc:8:7: error: 'ps' was not declared in this scope
    8 |       ps.push_back(i);
      |       ^~
a.cc:10:17: error: 'min' was not declared in this scope
   10 |         fs[j] = min(fs[j], i);
      |                 ^~~
a.cc:14:3: error: 'f0' was not declared in this scope
   14 |   f0[0] = 1;
      |   ^~
a.cc:15:32: error: 'MAXF' was not declared in this scope
   15 |   for(unsigned int i = 1; i <= MAXF; i++){f0[i] = modmul(i, f0[i - 1]);}
      |                                ^~~~
a.cc:15:51: error: 'modmul' was not declared in this scope
   15 |   for(unsigned int i = 1; i <= MAXF; i++){f0[i] = modmul(i, f0[i - 1]);}
      |                                                   ^~~~~~
a.cc:16:3: error: 'f1' was not declared in this scope
   16 |   f1[MAXF] = modinv(f0[MAXF]);
      |   ^~
a.cc:16:6: error: 'MAXF' was not declared in this scope
   16 |   f1[MAXF] = modinv(f0[MAXF]);
      |      ^~~~
a.cc:16:14: error: 'modinv' was not declared in this scope
   16 |   f1[MAXF] = modinv(f0[MAXF]);
      |              ^~~~~~
a.cc:17:54: error: 'modmul' was not declared in this scope
   17 |   for(unsigned int i = MAXF; 0 < i; i--){f1[i - 1] = modmul(i, f1[i]);}
      |                                                      ^~~~~~
a.cc: In function 'unsigned int modf(unsigned int)':
a.cc:20:10: error: 'f0' was not declared in this scope
   20 |   return f0[n];
      |          ^~
a.cc: In function 'unsigned int modp(unsigned int, unsigned int)':
a.cc:23:17: error: 'f0' was not declared in this scope
   23 |   return modmul(f0[n], f1[n - r]);
      |                 ^~
a.cc:23:24: error: 'f1' was not declared in this scope
   23 |   return modmul(f0[n], f1[n - r]);
      |                        ^~
a.cc:23:10: error: 'modmul' was not declared in this scope
   23 |   return modmul(f0[n], f1[n - r]);
      |          ^~~~~~
a.cc: In function 'unsigned int modc(unsigned int, unsigned int)':
a.cc:26:17: error: 'f0' was not declared in this scope
   26 |   return modmul(f0[n], f1[n - r], f1[r]);
      |                 ^~
a.cc:26:24: error: 'f1' was not declared in this scope
   26 |   return modmul(f0[n], f1[n - r], f1[r]);
      |                        ^~
a.cc:26:10: error: 'modmul' was not declared in this scope
   26 |   return modmul(f0[n], f1[n - r], f1[r]);
      |          ^~~~~~
a.cc: In function 'int main()':
a.cc:33:7: error: 'n' was not declared in this scope
   33 |   INT(n); INT(m);
      |       ^
a.cc:33:3: error: 'INT' was not declared in this scope
   33 |   INT(n); INT(m);
      |   ^~~
a.cc:33:15: error: 'm' was not declared in this scope
   33 |   INT(n); INT(m);
      |               ^
a.cc:34:12: error: 'factor' was not declared in this scope
   34 |   auto f = factor(m);
      |            ^~~~~~
a.cc:37:32: error: 'r' was not declared in this scope
   37 |     ans = modmul(ans, modc(n + r - 1, r));
      |                                ^
a.cc:37:11: error: 'modmul' was not declared in this scope
   37 |     ans = modmul(ans, modc(n + r - 1, r));
      |           ^~~~~~
a.cc:39:3: error: 'printf' was not declared in this scope
   39 |   printf("%d¥n", ans);
      |   ^~~~~~
a.cc:1:1: note: 'printf' is defined in header '<cstdio>'; this is probably fixable by adding '#include <cstdio>'
  +++ |+#include <cstdio>
    1 | igned int f0[1 + MAXF], f1[1 + MAXF];