/*
Author: Nguyen Nhut Truong
From Chuyen Tien Giang High School For The Gifed
*/
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define start signed main
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define il pair<int,ll>
#define ii pair<int,int>
#define len(s) (int)s.size()
#define all(s) (s).begin(),(s).end()
#define OpenFile(Name) if (fopen(Name".inp","r")) freopen(Name".inp","r",stdin),freopen(Name".out","w",stdout);
#define MASK(x) ((1LL)<<(x))
#define Bit(x,i) (((x)>>(i))&1)
#define Countbit(x) __builtin_popcountll(x)
typedef long long ll;
typedef long double ld;
int dx[]={1,-1,0,0,-1,1,1,-1};
int dy[]={0,0,1,-1,-1,-1,1,1};
template <class C> bool Minimize(C &a, C b) { if (a>b) { a=b; return true; } return false;}
template <class C> bool Maximize(C &a, C b) { if (a<b) { a=b; return true; } return false;}
inline ll add(ll a,ll b,ll c) { return (a+b)%c; };
inline ll sub(ll a,ll b,ll c) { return (a-b+c)%c; };
inline ll mul(ll a,ll b,ll c) { return ((a%c)*(b%c))%c; };
mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());
ll rand(ll l,ll r){
assert(l<=r);
return l+rd()%(r-l+1);
}
void MakeInp() {
ofstream cout("Task.inp");
cout.close();
}
/// Constant Limit
const int N=1e6+5,M=1e3+30,INF=1e9,lim=1e6;
const int block=448,base=31;
ll Mod=1e9+7,Mod_base=1777777777,LNF=1e18;
///____________________________________________________________________________________________________________________________
int c,n,m;
ll pre[M][M],a[M][M];
int check(int x1,int y1,int x2,int y2) {
vector<int> v;
for (int i=x1;i<=x2;++i) v.pb(pre[i][y2]-pre[i][y1-1]);
sort(all(v));
int d=v[1]-v[0];
if(d==0) return -1;
for (int i=1;i<len(v);++i)
if(v[i]-v[i-1]!=d) return -1;
return d;
}
bool f=0;
void print(int x1,int y1,int x2,int y2,int d) {
if (f) cout<<'\n';
f=1;
cout<<'('<<x1<<','<<y1<<','<<x2<<','<<y2<<','<<d<<')';
}
void Try(int x1,int y1,int x2,int y2) {
if (x1==x2 || y1==y2) {
print(x1,y1,x2,y2,0);
return ;
} else
{
int d=check(x1,y1,x2,y2);
if(d!=-1) {
print(x1,y1,x2,y2,d);
return;
}
}
int x3=(x1+x2)/2;
int y3=(y1+y2)/2;
if (f) cout<<'\n';
f=0;
cout<<'(';
Try(x1,y1,x3,y3);
Try(x1,y3+1,x3,y2);
Try(x3+1,y1,x2,y3);
Try(x3+1,y3+1,x2,y2);
cout<<')';
f=1;
}
ll d[M],b[M];
start() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
OpenFile("TASK");
cin>>c>>n>>m;
if (c==1) {
ll res=-LNF;
for (int i=1;i<=n;++i) {
ll ans=0;
for (int i=1;i<=m;++i) {
ll x; cin>>x;
ans+=x;
}
d[i]=ans;
Maximize(res,ans);
}
for (int i=1;i<=n;++i)
if (d[i]==res) cout<<i<<'\n';
return 0;
} else
if (c==2) {
for (int i=1;i<=n;++i) {
ll r;
for (int i=1;i<=m;++i) cin>>b[i];
sort(b+1,b+m+1);
if (m<3) {
d[i]=1;
} else {
r=b[2]-b[1];
for (int i=2;i<=m;++i)
if (b[i]-b[i-1]!=r) {
r=0;
break;
}
if (r!=0) d[i]=1;
}
}
for (int i=1;i<=n;++i)
if (d[i]==1) cout<<i<<'\n';
} else
if (c==3) {
for (int i=1;i<=n;++i)
for (int j=1;j<=m;++j) {
cin>>a[i][j];
pre[i][j]=pre[i][j-1]+a[i][j];
}
Try(1,1,n,m);
}
//cerr<<"\nBien dich thanh cong\nTime: "<<(1.0*clock()/CLOCKS_PER_SEC)<<" s\n";
return 0;
}
LyoKICAgIEF1dGhvcjogTmd1eWVuIE5odXQgVHJ1b25nCiAgICBGcm9tIENodXllbiBUaWVuIEdpYW5nIEhpZ2ggU2Nob29sIEZvciBUaGUgR2lmZWQKKi8KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIHN0YXJ0IHNpZ25lZCBtYWluCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBlYiBlbXBsYWNlX2JhY2sKI2RlZmluZSBpbCBwYWlyPGludCxsbD4KI2RlZmluZSBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgbGVuKHMpIChpbnQpcy5zaXplKCkKI2RlZmluZSBhbGwocykgKHMpLmJlZ2luKCksKHMpLmVuZCgpCiNkZWZpbmUgT3BlbkZpbGUoTmFtZSkgaWYgKGZvcGVuKE5hbWUiLmlucCIsInIiKSkgZnJlb3BlbihOYW1lIi5pbnAiLCJyIixzdGRpbiksZnJlb3BlbihOYW1lIi5vdXQiLCJ3IixzdGRvdXQpOwoKI2RlZmluZSBNQVNLKHgpICgoMUxMKTw8KHgpKQojZGVmaW5lIEJpdCh4LGkpICgoKHgpPj4oaSkpJjEpCiNkZWZpbmUgQ291bnRiaXQoeCkgX19idWlsdGluX3BvcGNvdW50bGwoeCkKCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwoKaW50IGR4W109ezEsLTEsMCwwLC0xLDEsMSwtMX07CmludCBkeVtdPXswLDAsMSwtMSwtMSwtMSwxLDF9OwoKdGVtcGxhdGUgPGNsYXNzIEM+IGJvb2wgTWluaW1pemUoQyAmYSwgQyBiKSB7IGlmIChhPmIpIHsgYT1iOyByZXR1cm4gdHJ1ZTsgfSByZXR1cm4gZmFsc2U7fQp0ZW1wbGF0ZSA8Y2xhc3MgQz4gYm9vbCBNYXhpbWl6ZShDICZhLCBDIGIpIHsgaWYgKGE8YikgeyBhPWI7IHJldHVybiB0cnVlOyB9IHJldHVybiBmYWxzZTt9CgppbmxpbmUgbGwgYWRkKGxsIGEsbGwgYixsbCBjKSB7IHJldHVybiAoYStiKSVjOyB9OwppbmxpbmUgbGwgc3ViKGxsIGEsbGwgYixsbCBjKSB7IHJldHVybiAoYS1iK2MpJWM7IH07CmlubGluZSBsbCBtdWwobGwgYSxsbCBiLGxsIGMpIHsgcmV0dXJuICgoYSVjKSooYiVjKSklYzsgfTsKCm10MTk5MzdfNjQgcmQoY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKCmxsIHJhbmQobGwgbCxsbCByKXsKICAgIGFzc2VydChsPD1yKTsKICAgIHJldHVybiBsK3JkKCklKHItbCsxKTsKfQoKdm9pZCBNYWtlSW5wKCkgewogICAgb2ZzdHJlYW0gY291dCgiVGFzay5pbnAiKTsKCiAgICBjb3V0LmNsb3NlKCk7Cn0KCi8vLyBDb25zdGFudCBMaW1pdAoKY29uc3QgaW50IE49MWU2KzUsTT0xZTMrMzAsSU5GPTFlOSxsaW09MWU2Owpjb25zdCBpbnQgYmxvY2s9NDQ4LGJhc2U9MzE7CgpsbCBNb2Q9MWU5KzcsTW9kX2Jhc2U9MTc3Nzc3Nzc3NyxMTkY9MWUxODsKCi8vL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCgppbnQgYyxuLG07CmxsIHByZVtNXVtNXSxhW01dW01dOwoKaW50IGNoZWNrKGludCB4MSxpbnQgeTEsaW50IHgyLGludCB5MikgewogICAgdmVjdG9yPGludD4gdjsKICAgIGZvciAoaW50IGk9eDE7aTw9eDI7KytpKSB2LnBiKHByZVtpXVt5Ml0tcHJlW2ldW3kxLTFdKTsKCiAgICBzb3J0KGFsbCh2KSk7CiAgICBpbnQgZD12WzFdLXZbMF07CiAgICBpZihkPT0wKSByZXR1cm4gLTE7CgogICAgZm9yIChpbnQgaT0xO2k8bGVuKHYpOysraSkKICAgIGlmKHZbaV0tdltpLTFdIT1kKSByZXR1cm4gLTE7CgogICAgcmV0dXJuIGQ7Cn0KCmJvb2wgZj0wOwp2b2lkIHByaW50KGludCB4MSxpbnQgeTEsaW50IHgyLGludCB5MixpbnQgZCkgewogICAgaWYgKGYpIGNvdXQ8PCdcbic7CiAgICBmPTE7CgogICAgY291dDw8JygnPDx4MTw8JywnPDx5MTw8JywnPDx4Mjw8JywnPDx5Mjw8JywnPDxkPDwnKSc7Cn0KCnZvaWQgVHJ5KGludCB4MSxpbnQgeTEsaW50IHgyLGludCB5MikgewogICAgaWYgKHgxPT14MiB8fCB5MT09eTIpIHsKICAgICAgICBwcmludCh4MSx5MSx4Mix5MiwwKTsKICAgICAgICByZXR1cm4gOwogICAgfSBlbHNlCiAgICB7CiAgICAgICAgaW50IGQ9Y2hlY2soeDEseTEseDIseTIpOwogICAgICAgIGlmKGQhPS0xKSB7CiAgICAgICAgICAgIHByaW50KHgxLHkxLHgyLHkyLGQpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGludCB4Mz0oeDEreDIpLzI7CiAgICBpbnQgeTM9KHkxK3kyKS8yOwoKICAgIGlmIChmKSBjb3V0PDwnXG4nOwoKICAgIGY9MDsKICAgIGNvdXQ8PCcoJzsKICAgIFRyeSh4MSx5MSx4Myx5Myk7CiAgICBUcnkoeDEseTMrMSx4Myx5Mik7CiAgICBUcnkoeDMrMSx5MSx4Mix5Myk7CiAgICBUcnkoeDMrMSx5MysxLHgyLHkyKTsKICAgIGNvdXQ8PCcpJzsKCiAgICBmPTE7Cn0KCmxsIGRbTV0sYltNXTsKCnN0YXJ0KCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgT3BlbkZpbGUoIlRBU0siKTsKCiAgICBjaW4+PmM+Pm4+Pm07CgogICAgaWYgKGM9PTEpIHsKICAgICAgICBsbCByZXM9LUxORjsKICAgICAgICBmb3IgKGludCBpPTE7aTw9bjsrK2kpIHsKICAgICAgICAgICAgbGwgYW5zPTA7CiAgICAgICAgICAgIGZvciAoaW50IGk9MTtpPD1tOysraSkgewogICAgICAgICAgICAgICAgbGwgeDsgY2luPj54OwogICAgICAgICAgICAgICAgYW5zKz14OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRbaV09YW5zOwogICAgICAgICAgICBNYXhpbWl6ZShyZXMsYW5zKTsKICAgICAgICB9CgogICAgICAgIGZvciAoaW50IGk9MTtpPD1uOysraSkKICAgICAgICBpZiAoZFtpXT09cmVzKSBjb3V0PDxpPDwnXG4nOwoKICAgICAgICByZXR1cm4gMDsKICAgIH0gZWxzZQogICAgaWYgKGM9PTIpIHsKICAgICAgICBmb3IgKGludCBpPTE7aTw9bjsrK2kpIHsKICAgICAgICAgICAgbGwgcjsKICAgICAgICAgICAgZm9yIChpbnQgaT0xO2k8PW07KytpKSBjaW4+PmJbaV07CgogICAgICAgICAgICBzb3J0KGIrMSxiK20rMSk7CiAgICAgICAgICAgIGlmIChtPDMpIHsKICAgICAgICAgICAgICAgIGRbaV09MTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHI9YlsyXS1iWzFdOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaT0yO2k8PW07KytpKQogICAgICAgICAgICAgICAgaWYgKGJbaV0tYltpLTFdIT1yKSB7CiAgICAgICAgICAgICAgICAgICAgcj0wOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChyIT0wKSBkW2ldPTE7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvciAoaW50IGk9MTtpPD1uOysraSkKICAgICAgICBpZiAoZFtpXT09MSkgY291dDw8aTw8J1xuJzsKICAgIH0gZWxzZQogICAgaWYgKGM9PTMpIHsKICAgICAgICBmb3IgKGludCBpPTE7aTw9bjsrK2kpCiAgICAgICAgZm9yIChpbnQgaj0xO2o8PW07KytqKSB7CiAgICAgICAgICAgIGNpbj4+YVtpXVtqXTsKICAgICAgICAgICAgcHJlW2ldW2pdPXByZVtpXVtqLTFdK2FbaV1bal07CiAgICAgICAgfQoKICAgICAgICBUcnkoMSwxLG4sbSk7CiAgICB9CgoKCgoKCgogICAgLy9jZXJyPDwiXG5CaWVuIGRpY2ggdGhhbmggY29uZ1xuVGltZTogIjw8KDEuMCpjbG9jaygpL0NMT0NLU19QRVJfU0VDKTw8IiBzXG4iOwogICAgcmV0dXJuIDA7Cn0K