#include <cstdio>
#include <vector>
#include <deque>
#include <queue>
#include <map>
#include <set>
#include <algorithm>
#include <functional>
#include <numeric>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
typedef long long ll;
void printCell(vector< vector<int> > &cell, int H, int W){
cout << "-----" << endl;
for(int h= 0; h < H; ++h){
for(int w = 0; w < W; ++w){
printf("%03d ", cell[h][w]);
}
cout << endl;
}
cout << "-----" << endl;
}
int main(void)
{
int T;
cin >> T;
for(int t = 0; t < T; ++t){
int H, W;
cin >> H >> W;
vector< vector<int> > cell(H, vector<int>(W));
for(int h= 0; h < H; ++h){
for(int w = 0; w < W; ++w){
cin >> cell[h][w];
}
}
//printCell(cell, H, W);
vector< vector<int> > cell2(H, vector<int>(W));
for(int h= 0; h < H; ++h){
for(int w = 0; w < W; ++w){
cell2[h][w] = 100;
}
}
for(int h = 0; h < H; ++h){
int highest = -1;
for(int w = 0; w < W; ++w){
highest = max(highest, cell[h][w]);
}
for(int w = 0; w < W; ++w){
cell2[h][w] = min(highest, cell2[h][w]);
}
}
for(int w = 0; w < W; ++w){
int highest = -1;
for(int h = 0; h < H; ++h){
highest = max(highest, cell[h][w]);
}
for(int h = 0; h < H; ++h){
cell2[h][w] = min(highest, cell2[h][w]);
}
}
//printCell(cell2, H, W);
string ans = "YES";
for(int h= 0; h < H; ++h){
for(int w = 0; w < W; ++w){
if (cell[h][w] != cell2[h][w]){
ans = "NO";
break;
}
}
}
cout << "Case #" << (t+1) << ": " << ans << endl;
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGRlcXVlPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxmdW5jdGlvbmFsPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKCnZvaWQgcHJpbnRDZWxsKHZlY3RvcjwgdmVjdG9yPGludD4gPiAmY2VsbCwgaW50IEgsIGludCBXKXsKICAgIGNvdXQgPDwgIi0tLS0tIiA8PCBlbmRsOwogICAgZm9yKGludCBoPSAwOyBoIDwgSDsgKytoKXsKICAgICAgICBmb3IoaW50IHcgPSAwOyB3IDwgVzsgKyt3KXsKICAgICAgICAgICAgcHJpbnRmKCIlMDNkICIsIGNlbGxbaF1bd10pOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9CiAgICBjb3V0IDw8ICItLS0tLSIgPDwgZW5kbDsKfQoKCmludCBtYWluKHZvaWQpCnsKICAgIGludCBUOwogICAgY2luID4+IFQ7CiAgICAKICAgIGZvcihpbnQgdCA9IDA7IHQgPCBUOyArK3QpewogICAgICAgIGludCBILCBXOwogICAgICAgIGNpbiA+PiBIID4+IFc7CiAgICAgICAgCiAgICAgICAgdmVjdG9yPCB2ZWN0b3I8aW50PiA+IGNlbGwoSCwgdmVjdG9yPGludD4oVykpOwogICAgICAgIGZvcihpbnQgaD0gMDsgaCA8IEg7ICsraCl7CiAgICAgICAgICAgIGZvcihpbnQgdyA9IDA7IHcgPCBXOyArK3cpewogICAgICAgICAgICAgICAgY2luID4+IGNlbGxbaF1bd107CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy9wcmludENlbGwoY2VsbCwgSCwgVyk7CgogICAgICAgIHZlY3RvcjwgdmVjdG9yPGludD4gPiBjZWxsMihILCB2ZWN0b3I8aW50PihXKSk7CiAgICAgICAgZm9yKGludCBoPSAwOyBoIDwgSDsgKytoKXsKICAgICAgICAgICAgZm9yKGludCB3ID0gMDsgdyA8IFc7ICsrdyl7CiAgICAgICAgICAgICAgICBjZWxsMltoXVt3XSA9IDEwMDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZm9yKGludCBoID0gMDsgaCA8IEg7ICsraCl7CiAgICAgICAgICAgIGludCBoaWdoZXN0ID0gLTE7CiAgICAgICAgICAgIGZvcihpbnQgdyA9IDA7IHcgPCBXOyArK3cpewogICAgICAgICAgICAgICAgaGlnaGVzdCA9IG1heChoaWdoZXN0LCBjZWxsW2hdW3ddKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaW50IHcgPSAwOyB3IDwgVzsgKyt3KXsKICAgICAgICAgICAgICAgIGNlbGwyW2hdW3ddID0gbWluKGhpZ2hlc3QsIGNlbGwyW2hdW3ddKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZm9yKGludCB3ID0gMDsgdyA8IFc7ICsrdyl7CiAgICAgICAgICAgIGludCBoaWdoZXN0ID0gLTE7CiAgICAgICAgICAgIGZvcihpbnQgaCA9IDA7IGggPCBIOyArK2gpewogICAgICAgICAgICAgICAgaGlnaGVzdCA9IG1heChoaWdoZXN0LCBjZWxsW2hdW3ddKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaW50IGggPSAwOyBoIDwgSDsgKytoKXsKICAgICAgICAgICAgICAgIGNlbGwyW2hdW3ddID0gbWluKGhpZ2hlc3QsIGNlbGwyW2hdW3ddKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAvL3ByaW50Q2VsbChjZWxsMiwgSCwgVyk7CgogICAgICAgIHN0cmluZyBhbnMgPSAiWUVTIjsKICAgICAgICBmb3IoaW50IGg9IDA7IGggPCBIOyArK2gpewogICAgICAgICAgICBmb3IoaW50IHcgPSAwOyB3IDwgVzsgKyt3KXsKICAgICAgICAgICAgICAgIGlmIChjZWxsW2hdW3ddICE9IGNlbGwyW2hdW3ddKXsKICAgICAgICAgICAgICAgICAgICBhbnMgPSAiTk8iOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8ICJDYXNlICMiIDw8ICh0KzEpIDw8ICI6ICIgPDwgYW5zIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K