#include using namespace std; using ll=long; using pll=pair; #define vec(type,name,...) vectorname(__VA_ARGS__) #define each(i,a) for(auto&i:a) #define name4(a,b,c,d,...) d #define rep(...) name4(__VA_ARGS__,rep3,rep2,rep1)(__VA_ARGS__) #define rep1(a) rep3(i,0,a) #define rep2(i,a) rep3(i,0,a) #define rep3(i,a,b) for(ll i=a;ibool update_min(T&a,const T&b){if(a>b){a=b;return 1;}return 0;} template bool update_max(T&a,const T&b){if(a>n; vectora(n+1); a[0]=1; rep(n){ a[i+1]+=a[i]; if(i+1