0_0_30260805_30807.cpp: In function 'long long int f(long long int)':
0_0_30260805_30807.cpp:92:61: error: no matching function for call to 'quick_pow(int, long long int&, const long long int&)'
sum += ((C[i][2] * inv2)% mod * ext::quick_pow(2, i, mod)) % mod;
^
0_0_30260805_30807.cpp:92:61: note: candidate is:
0_0_30260805_30807.cpp:15:7: note: template<class T> T ext::quick_pow(T, T, T)
T quick_pow(T a, T k, T mod = 0) {
^
0_0_30260805_30807.cpp:15:7: note: template argument deduction/substitution failed:
0_0_30260805_30807.cpp:92:61: note: deduced conflicting types for parameter 'T' ('int' and 'long long int')
sum += ((C[i][2] * inv2)% mod * ext::quick_pow(2, i, mod)) % mod;
^
0_0_30260805_30807.cpp:93:79: error: no matching function for call to 'quick_pow(int, long long int&, const long long int&)'
auto divisor = ext::inverse_multiplier<long long>(ext::quick_pow(2, i, mod) - 1, mod);
^
0_0_30260805_30807.cpp:93:79: note: candidate is:
0_0_30260805_30807.cpp:15:7: note: template<class T> T ext::quick_pow(T, T, T)
T quick_pow(T a, T k, T mod = 0) {
^
0_0_30260805_30807.cpp:15:7: note: template argument deduction/substitution failed:
0_0_30260805_30807.cpp:93:79: note: deduced conflicting types for parameter 'T' ('int' and 'long long int')
auto divisor = ext::inverse_multiplier<long long>(ext::quick_pow(2, i, mod) - 1, mod);
^
|