#include #include #include #include #include #include #include #include #include #include #include #include #include #include #pragma comment(linker,"/STACK:102400000,102400000") using namespace std; #define MAX 100005 #define MAXN 1000005 #define maxnode 15 #define sigma_size 30 #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define lrt rt<<1 #define rrt rt<<1|1 #define middle int m=(r+l)>>1 #define LL long long #define ull unsigned long long #define mem(x,v) memset(x,v,sizeof(x)) #define lowbit(x) (x&-x) #define pii pair #define bits(a) __builtin_popcount(a) #define mk make_pair #define limit 10000 //const int prime = 999983; const int INF = 0x3f3f3f3f; const LL INFF = 0x3f3f; const double pi = acos(-1.0); const double inf = 1e18; const double eps = 1e-4; const LL mod = 1e9+7; const ull mx = 133333331; /*****************************************************/ inline void RI(int &x) { char c; while((c=getchar())<'0' || c>'9'); x=c-'0'; while((c=getchar())>='0' && c<='9') x=(x<<3)+(x<<1)+c-'0'; } /*****************************************************/ bool prime[MAX]; int pr[MAX]; int tot; void init(){ mem(prime,0); tot=0; for(int i=2;i<=100000;i++){ if(!prime[i]){ for(int j=2*i;j<=100000;j+=i) prime[j]=1; pr[tot++]=i; } } } int main(){ //freopen("in.txt","r",stdin); int t; cin>>t; init(); while(t--){ int n,d; scanf("%d%d",&n,&d); int k=d; int tmp=(n-1)/d; for(int i=0;i