//O(n)打印逆元表
void init()
{
inv[1] = inv[0] = 1;
for (LL i = 2; i < maxn; i++)
inv[i] = (mod - mod / i)*inv[mod%i] % mod;
}
//O(n)打印逆元表
void init()
{
inv[1] = inv[0] = 1;
for (LL i = 2; i < maxn; i++)
inv[i] = (mod - mod / i)*inv[mod%i] % mod;
}