Main.cpp:18:11: error: cannot declare a parameter with 'decltype(auto)'
18 | template <decltype(auto) mode> struct ZP;
| ^~~~~~~~~~~~~~
Main.cpp:19:19: note: invalid template non-type parameter
19 | using ZPP = ZP<mod>;
| ^
Main.cpp:20:11: error: cannot declare a parameter with 'decltype(auto)'
20 | template <decltype(auto) mod, decltype(auto) R> struct Poly {
| ^~~~~~~~~~~~~~
Main.cpp:20:31: error: cannot declare a parameter with 'decltype(auto)'
20 | template <decltype(auto) mod, decltype(auto) R> struct Poly {
| ^~~~~~~~~~~~~~
Main.cpp:23:11: error: expected ')' before 'x'
23 | Poly(ZPP x = 0) : A(0), B(x) {}
| ~ ^~
| )
Main.cpp:24:11: error: expected ')' before 'A'
24 | Poly(ZPP A, ZPP B) : A(A), B(B) {}
| ~ ^~
| )
Main.cpp:33:3: error: 'ZPP' does not name a type; did you mean 'ZP'?
33 | ZPP A, B;
| ^~~
| ZP
Main.cpp:36:11: error: cannot declare a parameter with 'decltype(auto)'
36 | template <decltype(auto) mod> struct ZP {
| ^~~~~~~~~~~~~~
Main.cpp:102:1: error: 'ZPP' does not name a type; did you mean 'ZP'?
102 | ZPP dp[52][52][10002];
| ^~~
| ZP
Main.cpp:103:1: error: 'ZPP' does not name a type; did you mean 'ZP'?
103 | ZPP fact[10100];
| ^~~
| ZP
Main.cpp:106:1: error: 'ZPP' does not name a type; did you mean 'ZP'?
106 | ZPP comb (int n, int k) {
| ^~~
| ZP
Main.cpp: In function 'int main()':
Main.cpp:117:3: error: 'fact' was not declared in this scope
117 | fact[0] = 1;
| ^~~~
Main.cpp:121:3: error: 'dp' was not declared in this scope
121 | dp[0][0][1] = 1;
| ^~
Main.cpp:132:3: error: 'ZPP' was not declared in this scope; did you mean 'ZP'?
132 | ZPP ans = 0;
| ^~~
| ZP
Main.cpp:134:5: error: 'ans' was not declared in this scope; did you mean 'abs'?
134 | ans += comb(l - d + n, n) * dp[n][1][d];
| ^~~
| abs
Main.cpp:134:12: error: 'comb' was not declared in this scope; did you mean 'wctomb'?
134 | ans += comb(l - d + n, n) * dp[n][1][d];
| ^~~~
| wctomb
Main.cpp:136:11: error: 'ans' was not declared in this scope; did you mean 'abs'?
136 | cout << ans;
| ^~~
| abs