#include <bits/stdc++.h> using namespace std; vector<int> dx = {1, 0, -1, 0}; vector<int> dy = {0, 1, 0, -1}; int main(){ int n, m, k; cin >> n >> m >> k; vector<vector<vector<char>>> c(k + 1, vector<vector<char>>(n, vector<char>(m))); for (int i = 0; i <= k; i++){ for (int j = 0; j < n; j++){ for (int l = 0; l < m; l++){ cin >> c[i][j][l]; } } } vector<int> cnt(k + 1, 0); for (int i = 0; i <= k; i++){ for (int j = 1; j < n - 1; j++){ for (int l = 1; l < m - 1; l++){ for (int o = 0; o < 4; o++){ int x = j + dx[o]; int y = l + dy[o]; if (c[i][j][l] != c[i][x][y]){ cnt[i]++; } } } } } int p = 0; for (int i = 1; i <= k; i++){ if (cnt[i] > cnt[p]){ p = i; } } vector<int> cd(k + 1, 0); for (int i = 0; i <= k; i++){ for (int j = 1; j < n - 1; j++){ for (int l = 1; l < m - 1; l++){ if (c[i][j][l] != c[p][j][l]){ cd[i]++; } } } } vector<pair<int, int>> P; for (int i = 0; i <= k; i++){ P.push_back(make_pair(cd[i], i)); } sort(P.begin(), P.end()); cout << p + 1 << endl; cout << P[k].first + k << endl; for (int i = 0; i < k; i++){ for (int j = 1; j < n - 1; j++){ for (int l = 1; l < m - 1; l++){ if (c[P[i].second][j][l] != c[P[i + 1].second][j][l]){ cout << "1 " << j + 1 << ' ' << l + 1 << endl; } } } cout << "2 " << P[i + 1].second + 1 << endl; } }