#include #include using ull = unsigned long long; #define NV(v)#v<<" : "<<(v) static constexpr ull fact(const ull n)noexcept{ if(n==0)return 1; ull ret {1}; for(ull i{2};i<=n;i++){ ret*=i; } return ret; } static constexpr ull C(const ull n, const ull m)noexcept{ return fact(n)/(fact(m)*fact(n-m)); } static ull t, k, n, m, ans; int main(){ // std::cout<>t>>k; for(ull i {0};i>n>>m; ans = 0; for(ull i {0};i<=n;i++){ for(ull j{0};j<=std::min(i,m);j++){ if(C(i,j)%k==0)ans++; } } std::cout<