#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define _for(i,a,b) for(int i = (a);i < b;i ++)
#define _rep(i,a,b) for(int i = (a);i > b;i --)
#define INF 0x3f3f3f3f3f3f3f3f
#define pb push_back
#define lowbit(x) ((x)&(-x))
#define MIKU 39
#define Design ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define debug() printf("Miku Check OK!\n")
#define MIKUCHAR "M"

#define maxn 200039
#define maxe 450003

ll h[200010];
int res[200010];

int main()
{
	int T;
	cin>>T;
	while(T--)
	{
		ll n,m,x;
		cin>>n>>m>>x;	
		for(int i=1;i<=n;i++) scanf("%lld",h+i);
		set<pair<ll,int>>s;
		for(int i=1;i<=m;i++) s.emplace(0,i);
		
		for(int i=1;i<=n;i++)
		{
			res[i]=s.begin()->second;
			pair<ll,int>t=*s.begin();
			s.erase(s.begin());
			t.first+=h[i];
			s.emplace(t);
		}
		if(s.rbegin()->first-s.begin()->first>x) puts("NO");
		else
		{
			puts("YES");
			for(int i=1;i<=n;i++) printf("%d ",res[i]);
			puts("");
		}
	}	
	return 0;
}