#include<algorithm>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <vector>
#include <bitset>
#include <queue>
#include <map>
#include <set>
using namespace std;
namespace IO{
#define BUF_SIZE 100000
#define OUT_SIZE 100000
#define ll long long
//fread->read
bool IOerror=0;
inline char nc(){
static char buf[BUF_SIZE],*p1=buf+BUF_SIZE,*pend=buf+BUF_SIZE;
if (p1==pend){
p1=buf; pend=buf+fread(buf,1,BUF_SIZE,stdin);
if (pend==p1){IOerror=1;return -1;}
//{printf("IO error!\n");system("pause");for (;;);exit(0);}
}
return *p1++;
}
inline bool blank(char ch){return ch==' '||ch=='\n'||ch=='\r'||ch=='\t';}
inline void read(int &x){
bool sign=0; char ch=nc(); x=0;
for (;blank(ch);ch=nc());
if (IOerror)return;
if (ch=='-')sign=1,ch=nc();
for (;ch>='0'&&ch<='9';ch=nc())x=x*10+ch-'0';
if (sign)x=-x;
}
inline void read(ll &x){
bool sign=0; char ch=nc(); x=0;
for (;blank(ch);ch=nc());
if (IOerror)return;
if (ch=='-')sign=1,ch=nc();
for (;ch>='0'&&ch<='9';ch=nc())x=x*10+ch-'0';
if (sign)x=-x;
}
inline void read(double &x){
bool sign=0; char ch=nc(); x=0;
for (;blank(ch);ch=nc());
if (IOerror)return;
if (ch=='-')sign=1,ch=nc();
for (;ch>='0'&&ch<='9';ch=nc())x=x*10+ch-'0';
if (ch=='.'){
double tmp=1; ch=nc();
for (;ch>='0'&&ch<='9';ch=nc())tmp/=10.0,x+=tmp*(ch-'0');
}
if (sign)x=-x;
}
inline void read(char *s){
char ch=nc();
for (;blank(ch);ch=nc());
if (IOerror)return;
for (;!blank(ch)&&!IOerror;ch=nc())*s++=ch;
*s=0;
}
inline void read(char &c){
for (c=nc();blank(c);c=nc());
if (IOerror){c=-1;return;}
}
//fwrite->write
struct Ostream_fwrite{
char *buf,*p1,*pend;
Ostream_fwrite(){buf=new char[BUF_SIZE];p1=buf;pend=buf+BUF_SIZE;}
void out(char ch){
if (p1==pend){
fwrite(buf,1,BUF_SIZE,stdout);p1=buf;
}
*p1++=ch;
}
void print(int x){
static char s[15],*s1;s1=s;
if (!x)*s1++='0';if (x<0)out('-'),x=-x;
while(x)*s1++=x%10+'0',x/=10;
while(s1--!=s)out(*s1);
}
void println(int x){
static char s[15],*s1;s1=s;
if (!x)*s1++='0';if (x<0)out('-'),x=-x;
while(x)*s1++=x%10+'0',x/=10;
while(s1--!=s)out(*s1); out('\n');
}
void print(ll x){
static char s[25],*s1;s1=s;
if (!x)*s1++='0';if (x<0)out('-'),x=-x;
while(x)*s1++=x%10+'0',x/=10;
while(s1--!=s)out(*s1);
}
void println(ll x){
static char s[25],*s1;s1=s;
if (!x)*s1++='0';if (x<0)out('-'),x=-x;
while(x)*s1++=x%10+'0',x/=10;
while(s1--!=s)out(*s1); out('\n');
}
void print(double x,int y){
static ll mul[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,
1000000000,10000000000LL,100000000000LL,1000000000000LL,10000000000000LL,
100000000000000LL,1000000000000000LL,10000000000000000LL,100000000000000000LL};
if (x<-1e-12)out('-'),x=-x;x*=mul[y];
ll x1=(ll)floor(x); if (x-floor(x)>=0.5)++x1;
ll x2=x1/mul[y],x3=x1-x2*mul[y]; print(x2);
if (y>0){out('.'); for (size_t i=1;i<y&&x3*mul[i]<mul[y];out('0'),++i); print(x3);}
}
void println(double x,int y){print(x,y);out('\n');}
void print(char *s){while (*s)out(*s++);}
void println(char *s){while (*s)out(*s++);out('\n');}
void flush(){if (p1!=buf){fwrite(buf,1,p1-buf,stdout);p1=buf;}}
~Ostream_fwrite(){flush();}
}Ostream;
inline void print(int x){Ostream.print(x);}
inline void println(int x){Ostream.println(x);}
inline void print(char x){Ostream.out(x);}
inline void println(char x){Ostream.out(x);Ostream.out('\n');}
inline void print(ll x){Ostream.print(x);}
inline void println(ll x){Ostream.println(x);}
inline void print(double x,int y){Ostream.print(x,y);}
inline void println(double x,int y){Ostream.println(x,y);}
inline void print(char *s){Ostream.print(s);}
inline void println(char *s){Ostream.println(s);}
inline void println(){Ostream.out('\n');}
inline void flush(){Ostream.flush();}
#undef ll
#undef OUT_SIZE
#undef BUF_SIZE
};
const int N=100005,K=6;
int n,k,id[K][N],a[N][K],b[N][K],Num[N],pos[K],val[K],Ans,Ind;
int cmp(int x,int y)
{
return a[x][Ind]<a[y][Ind];
}
void solve()
{
IO::read(n);IO::read(k);
for(int i=1;i<=n;i++)
Num[i]=0;
for(int i=1;i<=k;i++)
IO::read(val[i]),pos[i]=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=k;j++)
IO::read(a[i][j]);
for(int j=1;j<=k;j++)
IO::read(b[i][j]);
}
for(Ind=1;Ind<=k;Ind++)
{
for(int i=1;i<=n;i++)
id[Ind][i]=i;
sort(id[Ind]+1,id[Ind]+n+1,cmp);
}
Ans=0;
while(1)
{
int last=Ans;
for(int i=1;i<=k;i++)
{
while(pos[i]<=n&&a[id[i][pos[i]]][i]<=val[i])
{
int t=id[i][pos[i]];
Num[t]++;
if(Num[t]==k)
{
Ans++;
for(int j=1;j<=k;j++)
val[j]+=b[t][j];
}
pos[i]++;
}
}
if(Ans==last)
break;
}
IO::println(Ans);
for(int i=1;i<=k;i++)
IO::print(val[i]),IO::print(i!=k?' ':'\n');
}
int main()
{
int t;cin>>t;
while(t--)
solve();
return 0;
}
I2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSAgPHN0ZGlvLmg+CiNpbmNsdWRlICAgPG1hdGguaD4KI2luY2x1ZGUgICA8dGltZS5oPgojaW5jbHVkZSAgIDx2ZWN0b3I+CiNpbmNsdWRlICAgPGJpdHNldD4KI2luY2x1ZGUgICAgPHF1ZXVlPgojaW5jbHVkZSAgICAgIDxtYXA+CiNpbmNsdWRlICAgICAgPHNldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCm5hbWVzcGFjZSBJT3sgCiAgICAjZGVmaW5lIEJVRl9TSVpFIDEwMDAwMCAKICAgICNkZWZpbmUgT1VUX1NJWkUgMTAwMDAwIAogICAgI2RlZmluZSBsbCBsb25nIGxvbmcgCiAgICAvL2ZyZWFkLT5yZWFkIAoKICAgIGJvb2wgSU9lcnJvcj0wOyAKICAgIGlubGluZSBjaGFyIG5jKCl7IAogICAgICAgIHN0YXRpYyBjaGFyIGJ1ZltCVUZfU0laRV0sKnAxPWJ1ZitCVUZfU0laRSwqcGVuZD1idWYrQlVGX1NJWkU7IAogICAgICAgIGlmIChwMT09cGVuZCl7IAogICAgICAgICAgICBwMT1idWY7IHBlbmQ9YnVmK2ZyZWFkKGJ1ZiwxLEJVRl9TSVpFLHN0ZGluKTsgCiAgICAgICAgICAgIGlmIChwZW5kPT1wMSl7SU9lcnJvcj0xO3JldHVybiAtMTt9IAogICAgICAgICAgICAvL3twcmludGYoIklPIGVycm9yIVxuIik7c3lzdGVtKCJwYXVzZSIpO2ZvciAoOzspO2V4aXQoMCk7fSAKICAgICAgICB9IAogICAgICAgIHJldHVybiAqcDErKzsgCiAgICB9IAogICAgaW5saW5lIGJvb2wgYmxhbmsoY2hhciBjaCl7cmV0dXJuIGNoPT0nICd8fGNoPT0nXG4nfHxjaD09J1xyJ3x8Y2g9PSdcdCc7fSAKICAgIGlubGluZSB2b2lkIHJlYWQoaW50ICZ4KXsgCiAgICAgICAgYm9vbCBzaWduPTA7IGNoYXIgY2g9bmMoKTsgeD0wOyAKICAgICAgICBmb3IgKDtibGFuayhjaCk7Y2g9bmMoKSk7IAogICAgICAgIGlmIChJT2Vycm9yKXJldHVybjsgCiAgICAgICAgaWYgKGNoPT0nLScpc2lnbj0xLGNoPW5jKCk7IAogICAgICAgIGZvciAoO2NoPj0nMCcmJmNoPD0nOSc7Y2g9bmMoKSl4PXgqMTArY2gtJzAnOyAKICAgICAgICBpZiAoc2lnbil4PS14OyAKICAgIH0gCiAgICBpbmxpbmUgdm9pZCByZWFkKGxsICZ4KXsgCiAgICAgICAgYm9vbCBzaWduPTA7IGNoYXIgY2g9bmMoKTsgeD0wOyAKICAgICAgICBmb3IgKDtibGFuayhjaCk7Y2g9bmMoKSk7IAogICAgICAgIGlmIChJT2Vycm9yKXJldHVybjsgCiAgICAgICAgaWYgKGNoPT0nLScpc2lnbj0xLGNoPW5jKCk7IAogICAgICAgIGZvciAoO2NoPj0nMCcmJmNoPD0nOSc7Y2g9bmMoKSl4PXgqMTArY2gtJzAnOyAKICAgICAgICBpZiAoc2lnbil4PS14OyAKICAgIH0gCiAgICBpbmxpbmUgdm9pZCByZWFkKGRvdWJsZSAmeCl7IAogICAgICAgIGJvb2wgc2lnbj0wOyBjaGFyIGNoPW5jKCk7IHg9MDsgCiAgICAgICAgZm9yICg7YmxhbmsoY2gpO2NoPW5jKCkpOyAKICAgICAgICBpZiAoSU9lcnJvcilyZXR1cm47IAogICAgICAgIGlmIChjaD09Jy0nKXNpZ249MSxjaD1uYygpOyAKICAgICAgICBmb3IgKDtjaD49JzAnJiZjaDw9JzknO2NoPW5jKCkpeD14KjEwK2NoLScwJzsgCiAgICAgICAgaWYgKGNoPT0nLicpeyAKICAgICAgICAgICAgZG91YmxlIHRtcD0xOyBjaD1uYygpOyAKICAgICAgICAgICAgZm9yICg7Y2g+PScwJyYmY2g8PSc5JztjaD1uYygpKXRtcC89MTAuMCx4Kz10bXAqKGNoLScwJyk7IAogICAgICAgIH0gCiAgICAgICAgaWYgKHNpZ24peD0teDsgCiAgICB9IAogICAgaW5saW5lIHZvaWQgcmVhZChjaGFyICpzKXsgCiAgICAgICAgY2hhciBjaD1uYygpOyAKICAgICAgICBmb3IgKDtibGFuayhjaCk7Y2g9bmMoKSk7IAogICAgICAgIGlmIChJT2Vycm9yKXJldHVybjsgCiAgICAgICAgZm9yICg7IWJsYW5rKGNoKSYmIUlPZXJyb3I7Y2g9bmMoKSkqcysrPWNoOyAKICAgICAgICAqcz0wOyAKICAgIH0gCiAgICBpbmxpbmUgdm9pZCByZWFkKGNoYXIgJmMpeyAKICAgICAgICBmb3IgKGM9bmMoKTtibGFuayhjKTtjPW5jKCkpOyAKICAgICAgICBpZiAoSU9lcnJvcil7Yz0tMTtyZXR1cm47fSAKICAgIH0gCiAgICAvL2Z3cml0ZS0+d3JpdGUgCiAgICBzdHJ1Y3QgT3N0cmVhbV9md3JpdGV7IAogICAgICAgIGNoYXIgKmJ1ZiwqcDEsKnBlbmQ7IAogICAgICAgIE9zdHJlYW1fZndyaXRlKCl7YnVmPW5ldyBjaGFyW0JVRl9TSVpFXTtwMT1idWY7cGVuZD1idWYrQlVGX1NJWkU7fSAKICAgICAgICB2b2lkIG91dChjaGFyIGNoKXsgCiAgICAgICAgICAgIGlmIChwMT09cGVuZCl7IAogICAgICAgICAgICAgICAgZndyaXRlKGJ1ZiwxLEJVRl9TSVpFLHN0ZG91dCk7cDE9YnVmOyAKICAgICAgICAgICAgfSAKICAgICAgICAgICAgKnAxKys9Y2g7IAogICAgICAgIH0gCiAgICAgICAgdm9pZCBwcmludChpbnQgeCl7IAogICAgICAgICAgICBzdGF0aWMgY2hhciBzWzE1XSwqczE7czE9czsgCiAgICAgICAgICAgIGlmICgheCkqczErKz0nMCc7aWYgKHg8MClvdXQoJy0nKSx4PS14OyAKICAgICAgICAgICAgd2hpbGUoeCkqczErKz14JTEwKycwJyx4Lz0xMDsgCiAgICAgICAgICAgIHdoaWxlKHMxLS0hPXMpb3V0KCpzMSk7IAogICAgICAgIH0gCiAgICAgICAgdm9pZCBwcmludGxuKGludCB4KXsgCiAgICAgICAgICAgIHN0YXRpYyBjaGFyIHNbMTVdLCpzMTtzMT1zOyAKICAgICAgICAgICAgaWYgKCF4KSpzMSsrPScwJztpZiAoeDwwKW91dCgnLScpLHg9LXg7IAogICAgICAgICAgICB3aGlsZSh4KSpzMSsrPXglMTArJzAnLHgvPTEwOyAKICAgICAgICAgICAgd2hpbGUoczEtLSE9cylvdXQoKnMxKTsgb3V0KCdcbicpOyAKICAgICAgICB9IAogICAgICAgIHZvaWQgcHJpbnQobGwgeCl7IAogICAgICAgICAgICBzdGF0aWMgY2hhciBzWzI1XSwqczE7czE9czsgCiAgICAgICAgICAgIGlmICgheCkqczErKz0nMCc7aWYgKHg8MClvdXQoJy0nKSx4PS14OyAKICAgICAgICAgICAgd2hpbGUoeCkqczErKz14JTEwKycwJyx4Lz0xMDsgCiAgICAgICAgICAgIHdoaWxlKHMxLS0hPXMpb3V0KCpzMSk7IAogICAgICAgIH0gCiAgICAgICAgdm9pZCBwcmludGxuKGxsIHgpeyAKICAgICAgICAgICAgc3RhdGljIGNoYXIgc1syNV0sKnMxO3MxPXM7IAogICAgICAgICAgICBpZiAoIXgpKnMxKys9JzAnO2lmICh4PDApb3V0KCctJykseD0teDsgCiAgICAgICAgICAgIHdoaWxlKHgpKnMxKys9eCUxMCsnMCcseC89MTA7IAogICAgICAgICAgICB3aGlsZShzMS0tIT1zKW91dCgqczEpOyBvdXQoJ1xuJyk7IAogICAgICAgIH0gCiAgICAgICAgdm9pZCBwcmludChkb3VibGUgeCxpbnQgeSl7IAogICAgICAgICAgICBzdGF0aWMgbGwgbXVsW109ezEsMTAsMTAwLDEwMDAsMTAwMDAsMTAwMDAwLDEwMDAwMDAsMTAwMDAwMDAsMTAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDEwMDAwMDAwMDAsMTAwMDAwMDAwMDBMTCwxMDAwMDAwMDAwMDBMTCwxMDAwMDAwMDAwMDAwTEwsMTAwMDAwMDAwMDAwMDBMTCwgCiAgICAgICAgICAgICAgICAxMDAwMDAwMDAwMDAwMDBMTCwxMDAwMDAwMDAwMDAwMDAwTEwsMTAwMDAwMDAwMDAwMDAwMDBMTCwxMDAwMDAwMDAwMDAwMDAwMDBMTH07IAogICAgICAgICAgICBpZiAoeDwtMWUtMTIpb3V0KCctJykseD0teDt4Kj1tdWxbeV07IAogICAgICAgICAgICBsbCB4MT0obGwpZmxvb3IoeCk7IGlmICh4LWZsb29yKHgpPj0wLjUpKyt4MTsgCiAgICAgICAgICAgIGxsIHgyPXgxL211bFt5XSx4Mz14MS14MiptdWxbeV07IHByaW50KHgyKTsgCiAgICAgICAgICAgIGlmICh5PjApe291dCgnLicpOyBmb3IgKHNpemVfdCBpPTE7aTx5JiZ4MyptdWxbaV08bXVsW3ldO291dCgnMCcpLCsraSk7IHByaW50KHgzKTt9IAogICAgICAgIH0gCiAgICAgICAgdm9pZCBwcmludGxuKGRvdWJsZSB4LGludCB5KXtwcmludCh4LHkpO291dCgnXG4nKTt9IAogICAgICAgIHZvaWQgcHJpbnQoY2hhciAqcyl7d2hpbGUgKCpzKW91dCgqcysrKTt9IAogICAgICAgIHZvaWQgcHJpbnRsbihjaGFyICpzKXt3aGlsZSAoKnMpb3V0KCpzKyspO291dCgnXG4nKTt9IAogICAgICAgIHZvaWQgZmx1c2goKXtpZiAocDEhPWJ1Zil7ZndyaXRlKGJ1ZiwxLHAxLWJ1ZixzdGRvdXQpO3AxPWJ1Zjt9fSAKICAgICAgICB+T3N0cmVhbV9md3JpdGUoKXtmbHVzaCgpO30gCiAgICB9T3N0cmVhbTsgCiAgICBpbmxpbmUgdm9pZCBwcmludChpbnQgeCl7T3N0cmVhbS5wcmludCh4KTt9IAogICAgaW5saW5lIHZvaWQgcHJpbnRsbihpbnQgeCl7T3N0cmVhbS5wcmludGxuKHgpO30gCiAgICBpbmxpbmUgdm9pZCBwcmludChjaGFyIHgpe09zdHJlYW0ub3V0KHgpO30gCiAgICBpbmxpbmUgdm9pZCBwcmludGxuKGNoYXIgeCl7T3N0cmVhbS5vdXQoeCk7T3N0cmVhbS5vdXQoJ1xuJyk7fSAKICAgIGlubGluZSB2b2lkIHByaW50KGxsIHgpe09zdHJlYW0ucHJpbnQoeCk7fSAKICAgIGlubGluZSB2b2lkIHByaW50bG4obGwgeCl7T3N0cmVhbS5wcmludGxuKHgpO30gCiAgICBpbmxpbmUgdm9pZCBwcmludChkb3VibGUgeCxpbnQgeSl7T3N0cmVhbS5wcmludCh4LHkpO30gCiAgICBpbmxpbmUgdm9pZCBwcmludGxuKGRvdWJsZSB4LGludCB5KXtPc3RyZWFtLnByaW50bG4oeCx5KTt9IAogICAgaW5saW5lIHZvaWQgcHJpbnQoY2hhciAqcyl7T3N0cmVhbS5wcmludChzKTt9IAogICAgaW5saW5lIHZvaWQgcHJpbnRsbihjaGFyICpzKXtPc3RyZWFtLnByaW50bG4ocyk7fSAKICAgIGlubGluZSB2b2lkIHByaW50bG4oKXtPc3RyZWFtLm91dCgnXG4nKTt9IAogICAgaW5saW5lIHZvaWQgZmx1c2goKXtPc3RyZWFtLmZsdXNoKCk7fQogICAgI3VuZGVmIGxsIAogICAgI3VuZGVmIE9VVF9TSVpFIAogICAgI3VuZGVmIEJVRl9TSVpFIAp9OwoKY29uc3QgaW50IE49MTAwMDA1LEs9NjsKCmludCBuLGssaWRbS11bTl0sYVtOXVtLXSxiW05dW0tdLE51bVtOXSxwb3NbS10sdmFsW0tdLEFucyxJbmQ7CgppbnQgY21wKGludCB4LGludCB5KQp7CiAgICByZXR1cm4gYVt4XVtJbmRdPGFbeV1bSW5kXTsKfQoKdm9pZCBzb2x2ZSgpCnsKICAgIElPOjpyZWFkKG4pO0lPOjpyZWFkKGspOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgICAgICAgTnVtW2ldPTA7CiAgICBmb3IoaW50IGk9MTtpPD1rO2krKykKICAgICAgICBJTzo6cmVhZCh2YWxbaV0pLHBvc1tpXT0xOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqPTE7ajw9aztqKyspCiAgICAgICAgICAgIElPOjpyZWFkKGFbaV1bal0pOwogICAgICAgIGZvcihpbnQgaj0xO2o8PWs7aisrKQogICAgICAgICAgICBJTzo6cmVhZChiW2ldW2pdKTsKICAgIH0KICAgIGZvcihJbmQ9MTtJbmQ8PWs7SW5kKyspCiAgICB7CiAgICAgICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgICAgICAgICAgIGlkW0luZF1baV09aTsKICAgICAgICBzb3J0KGlkW0luZF0rMSxpZFtJbmRdK24rMSxjbXApOwogICAgfQogICAgQW5zPTA7CiAgICB3aGlsZSgxKQogICAgewogICAgICAgIGludCBsYXN0PUFuczsKICAgICAgICBmb3IoaW50IGk9MTtpPD1rO2krKykKICAgICAgICB7CiAgICAgICAgICAgIHdoaWxlKHBvc1tpXTw9biYmYVtpZFtpXVtwb3NbaV1dXVtpXTw9dmFsW2ldKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpbnQgdD1pZFtpXVtwb3NbaV1dOwogICAgICAgICAgICAgICAgTnVtW3RdKys7CiAgICAgICAgICAgICAgICBpZihOdW1bdF09PWspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQW5zKys7CiAgICAgICAgICAgICAgICAgICAgZm9yKGludCBqPTE7ajw9aztqKyspCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbFtqXSs9Ylt0XVtqXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHBvc1tpXSsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKEFucz09bGFzdCkKICAgICAgICAgICAgYnJlYWs7CiAgICB9CiAgICBJTzo6cHJpbnRsbihBbnMpOwogICAgZm9yKGludCBpPTE7aTw9aztpKyspCiAgICAgICAgSU86OnByaW50KHZhbFtpXSksSU86OnByaW50KGkhPWs/JyAnOidcbicpOwp9CgppbnQgbWFpbigpCnsKICAgIGludCB0O2Npbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgICAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0=