#include #include #define rep(i,n) for(int i = 0;i P; typedef long long ll; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0;} template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0;} using mint = modint1000000007; struct combination { vector fact,ifact; combination(int n): fact(n+1),ifact(n+1) { fact[0] = 1; for(int i = 1; i <= n;i++) fact[i] = fact[i-1]*i; ifact[n] = fact[n].inv(); for(int i = n;i>=1;i--) ifact[i-1] = ifact[i]*i; } mint operator ()(int n,int k) { if(k < 0 || k > n) return 0; return fact[n]*ifact[k]*ifact[n-k]; } }; int main() { cout << "Hello World!" << endl; }