/********************************************************************* Problem: Author:hydd Date: *********************************************************************/ #include #define File(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout); using namespace std; int T,n,m,k,upperlim; int x[8],y[8],z[8]; int a[8][1005][1005]; int tmp[110],b[110],c[110]; inline int myabs(int x){ if (x<0) x=-x; return x; } inline int dist(int i,int j,int x,int y){ return myabs(i-x)+myabs(j-y); } bool check(int mid){ int now; for (int i=0;i<=upperlim;i++) tmp[i]=0; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++){ now=0; for (int t=1;t<=k;t++) if (a[t][i][j]<=mid) now|=(1<<(t-1)); tmp[now]++; } if (tmp[0]) return false; upperlim=(1<c[i]) return false; return true; } int main(){ // freopen("data.in","r",stdin); // freopen("data.out","w",stdout); scanf("%d",&T); while (T--){ scanf("%d%d%d",&n,&m,&k); upperlim=(1<>1; if (check(mid)) r=mid; else l=mid+1; } if (r==n*m) puts("-1"); else printf("%d\n",r); } return 0; }