#include <iostream>
#include <set>
#include <vector>
using namespace std;
int n,m;
int getcc(pair<int,int> q)
{
    //cout<<"HO";
    return q.first*m+q.second;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    //int n,m;
    cin >>n>>m;
    int tab[n][m];
    int pos[n][m];
    int qeer=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cin >> tab[i][j];
            tab[i][j]--;
            pos[i][j]=qeer;
            qeer++;
        }
    }
    int kol[n][m];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            kol[i][j]=0;
        }
    }
    vector<pair<int,int> > izb[m];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            kol[i][tab[i][j]]++;
            if(kol[i][tab[i][j]]>=2)
            {
                izb[tab[i][j]].push_back({i,j});
            }
        }
    }
    vector<int> ned[n];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
            if(kol[i][j]==0) ned[i].push_back(j);
    }
    int res=0;
    for(int i=0;i<n;i++) res+=ned[i].size();
    vector<pair<int,int> > obm;
    int qqq=0;
    while(izb[qqq].size()==0 && qqq<m) qqq++;
    if(qqq==m)
    {
        cout<<0;return 0;
    }
    obm.push_back({getcc(izb[qqq][izb[qqq].size()-1]),n*m});
    pair<int,int> pp=izb[qqq][izb[qqq].size()-1];

    int tbl=pp.first;
    izb[qqq].pop_back();
    while(true)
    {

        int l=ned[tbl][ned[tbl].size()-1];
        ned[tbl].pop_back();
        if(izb[l].size()==0)
        {
            obm.push_back({n*m,getcc(pp)});
            break;
        }
        else
        {
            pair<int,int> nex=izb[l][izb[l].size()-1];
            izb[l].pop_back();
            obm.push_back({getcc(nex),getcc(pp)});
            pp=nex;tbl=pp.first;
        }
     //   cout<<"end";
    }
    if(obm.size()!=res+1)
    {
        res=res/(res-res);
        cout<<res;
    }
    cout<<obm.size()<<'\n';
    for(int i=0;i<obm.size();i++) cout<<obm[i].first+1<<' '<<obm[i].second+1<<'\n';
}
