#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int maxlongint=2147483647; const int inf=1000000000; int pr[100010],pri[100010],nump=0,num[100010],sd[100010],ans[100010],prt[100010]; int fjc[200010],jc[200010]; const int mod=inf+7; int c(int i,int j) { if(j<0||j>i) return 0; return jc[i]*1ll*fjc[j]%mod*fjc[i-j]%mod; } int main() { jc[0]=fjc[0]=fjc[1]=1; for(int i=1;i<=200000;i++) jc[i]=(jc[i-1]*1ll*i)%mod; for(int i=2;i<=200000;i++) fjc[i]=(mod-mod/i)*1ll*fjc[mod%i]%mod; for(int i=2;i<=200000;i++) fjc[i]=fjc[i-1]*1ll*fjc[i]%mod; int T; cin>>T; while(T--) { nump=0; memset(pr,0,sizeof(pr)); int n,k; cin>>n>>k; for(int i=2;i<=n;i++) { if(pr[i]==0) { nump++; pri[nump]=i; sd[i]=nump; for(int j=2;j*i<=n;j++) pr[i*j]=1; } } for(int i=1;i<=n;i++) { int j=i; ans[i]=1; for(int x=1;x<=nump&&pri[x]*pri[x]<=j;x++) if(j%pri[x]==0) { int a=0; while(j%pri[x]==0) { j/=pri[x]; a++; } // cout<