#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
#define inf 1000000000000000LL
#define mod 1000000007LL
#define FOR(i,a,b) for(int i = a; i < b; i++)
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
void solve() {
uniform_int_distribution <ll> dist(1, 1000000000LL);
ll n,m,k;
cin >> n >> m >> k;
vector <string> l1(n);
vector <ll> val(n);
for (int i = 0; i < n; i++){
val[i] = dist(rng);
}
for (int i = 0; i < n; i++) cin >> l1[i];
auto num = [](char a){
if (a == 'A'){
return 0;
}
if (a == 'T'){
return 1;
}
if (a == 'G'){
return 2;
}
return 3;
};
vector <vector <__int128_t>> cnt(m, vector <__int128_t>(4, 0));
for (int i =0; i < n; i++){
for (int j= 0; j < m; j++){
cnt[j][num(l1[i][j])] += val[i];
}
}
__int128_t v = 0;
__int128_t k2 = k;
for (int i = 0; i < n; i++){
v += val[i];
}
for (int i = 0; i < n; i++){
__int128_t ves = 0;
for (int j = 0; j < m; j++){
for (int x = 0; x < 4; x++){
if (x != num(l1[i][j])){
ves += cnt[j][x];
}
}
}
if ((v - val[i]) * k2 == ves){
cout << i + 1 << "\n";
return;
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll t = 1;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nIGludDsKI2RlZmluZSBpbmYgMTAwMDAwMDAwMDAwMDAwMExMCiNkZWZpbmUgbW9kIDEwMDAwMDAwMDdMTAojZGVmaW5lIEZPUihpLGEsYikgZm9yKGludCBpID0gYTsgaSA8IGI7IGkrKykKbXQxOTkzNyBybmcoY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKdm9pZCBzb2x2ZSgpIHsKICAgIHVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbiA8bGw+IGRpc3QoMSwgMTAwMDAwMDAwMExMKTsKICAgIGxsIG4sbSxrOwogICAgY2luID4+IG4gPj4gbSA+PiBrOwogICAgdmVjdG9yIDxzdHJpbmc+IGwxKG4pOwogICAgdmVjdG9yIDxsbD4gdmFsKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIHZhbFtpXSA9IGRpc3Qocm5nKTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gbDFbaV07CiAgICBhdXRvIG51bSA9IFtdKGNoYXIgYSl7CiAgICAgICAgaWYgKGEgPT0gJ0EnKXsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgICAgIGlmIChhID09ICdUJyl7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KICAgICAgICBpZiAoYSA9PSAnRycpewogICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDM7CiAgICB9OwogICAgdmVjdG9yIDx2ZWN0b3IgPF9faW50MTI4X3Q+PiBjbnQobSwgdmVjdG9yIDxfX2ludDEyOF90Pig0LCAwKSk7CiAgICBmb3IgKGludCBpID0wOyBpIDwgbjsgaSsrKXsKICAgICAgICBmb3IgKGludCBqPSAwOyBqIDwgbTsgaisrKXsKICAgICAgICAgICAgY250W2pdW251bShsMVtpXVtqXSldICs9IHZhbFtpXTsKICAgICAgICB9CiAgICB9ICAKICAgIF9faW50MTI4X3QgdiA9IDA7CiAgICBfX2ludDEyOF90IGsyID0gazsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICB2ICs9IHZhbFtpXTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBfX2ludDEyOF90IHZlcyA9IDA7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBtOyBqKyspewogICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IDQ7IHgrKyl7CiAgICAgICAgICAgICAgICBpZiAoeCAhPSBudW0obDFbaV1bal0pKXsKICAgICAgICAgICAgICAgICAgICB2ZXMgKz0gY250W2pdW3hdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICgodiAtIHZhbFtpXSkgKiBrMiA9PSB2ZXMpewogICAgICAgICAgICBjb3V0IDw8IGkgKyAxIDw8ICJcbiI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBsbCB0ID0gMTsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9