#include #define int long long #define endl '\n' #define all(x) x.begin(), x.end() #define sz(x) (int)((x).size()) using namespace std; void solve([[maybe_unused]] int test_case){ int n,q; cin>>n>>q; int a[n]; for(int i=0;i>a[i]; } const int K = 5e5+10; int mu[K]={0}; for(int i=0;i=0;l--){ int x=a[l]; for(int j = 2;j*j<=x;j++){ if(x%j==0){ cnt += arr[j] * mu[j]; arr[j]++; if(j*j==x)continue; int y = x/j; cnt += arr[y] * mu[y]; arr[y]++; } } cnt += arr[x] * mu[x]; arr[x]++; while(cnt>=q){ r--; int x = a[r]; for(int j = 2;j*j<=x;j++){ if(x%j==0){ arr[j]--; cnt -= arr[j] * mu[j]; if(j*j==x)continue; int y = x/j; arr[y]--; cnt -= arr[y] * mu[y]; } } arr[x]--; cnt -= arr[x] * mu[x]; } res += n-r; } cout<>test; for(int _=1;_<=test;_++){ solve(_); } return 0; }