test/cpv/yukicoder/0502.mints-ms.mints-ms.poly_anymod-p3ntt.cpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #define AUTO_GENERATED | ||
| 2 | // competitive-verifier: PROBLEM https://yukicoder.me/problems/no/502 | ||
| 3 | #include "../../../src/math/fact/mod/lib.hpp" | ||
| 4 | |||
| 5 | using namespace tifa_libs; | ||
| 6 | CEXP u64 MOD = 1000000007; | ||
| 7 | |||
| 8 | #include "../../../src/fps/ds/ntt3/lib.hpp" | ||
| 9 | #include "../../../src/math/ds/mint/ms/lib.hpp" | ||
| 10 | |||
| 11 | using namespace tifa_libs; | ||
| 12 | using mint = mint_ms<MOD>; | ||
| 13 | using namespace tifa_libs; | ||
| 14 | using mint_p3ntt1 = mint_ms<167772161>; | ||
| 15 | using mint_p3ntt2 = mint_ms<469762049>; | ||
| 16 | using mint_p3ntt3 = mint_ms<754974721>; | ||
| 17 | using poly = poly3ntt<mint, mint_p3ntt1, mint_p3ntt2, mint_p3ntt3>; | ||
| 18 | |||
| 19 | 52 | int main() { | |
| 20 |
1/2✓ Branch 2 taken 52 times.
✗ Branch 3 not taken.
|
52 | std::cin.tie(nullptr)->std::ios::sync_with_stdio(false); |
| 21 | u64 n; | ||
| 22 |
1/2✓ Branch 1 taken 52 times.
✗ Branch 2 not taken.
|
52 | std::cin >> n; |
| 23 |
1/2✓ Branch 3 taken 52 times.
✗ Branch 4 not taken.
|
52 | std::cout << tifa_libs::fact_mint<poly>(n) << '\n'; |
| 24 | 52 | return 0; | |
| 25 | } | ||
| 26 |