#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
struct Node
{
long long x,y,z,c;
};
long long n,m,k,c;
vector<Node> ans;
int main()
{
// freopen("building.in","r",stdin);
// freopen("building.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>k;
for(long long i=1;i<=n;i++)
{
for(long long j=1;j<=m;j++)
{
cin>>c;
long long x=i,y=j,z=1;
while(z<m-j+1)
{
z++;
ans.push_back({x,y,z,c});
}
while(y<j/2*3+(j%2))
{
y++;
ans.push_back({x,y,z,c});
}
while(z<m+k)
{
z++;
ans.push_back({x,y,z,c});
}
}
}
for(long long z=m+1;z<=m+k;z++)
{
for(long long x=1;x<=n;x++)
{
for(long long y=2;y<=m/2*3+2*(m%2);y+=3)
{
ans.push_back({x,y,z,z-m});
}
}
for(long long y=1;y<=m/2*3+2*(m%2);y++)
{
ans.push_back({n+1,y,z,z-m});
}
}
cout<<ans.size()<<endl;
for(long long i=0;i<(long long)ans.size();i++)
{
cout<<ans[i].x<<" "<<ans[i].y<<" "<<ans[i].z<<" "<<ans[i].c<<endl;
}
return 0;
}