package yukicoder; import java.util.Arrays; import java.util.Scanner; public class Main{ final long mod=1_000_000_000+7; long[] inv_fact; long[] fact; public static void main(String[] args)throws Exception{ new Main().solve(); } void solve(){ inv_fact=new long[2_000_000+1];fact=new long[2_000_000+1]; inv_fact[0]=1;fact[0]=1; for(int i=1;i<=2_000_000;i++)fact[i]=(fact[i-1]*i)%mod; for(int i=2_000_000;i>=1;i--){ if(i==2_000_000){ long a=1; for(int j=1;j<=i;j++){ a=a*j; a=a%mod; } long inv=inverse_element(a,mod); while(inv<0)inv+=mod; inv%=mod; inv_fact[i]=inverse_element(a, mod); }else{ inv_fact[i]=((i+1)*inv_fact[i+1])%mod; } } Scanner sc=new Scanner(System.in); int t=sc.nextInt(); for(int i=0;i