#include<bits/stdc++.h>
using namespace std;
struct swp{
int befo,aftr;
}stor[101003000];
int op=0;
double a[10005][10005],b[10005],c[10005];
int sn=0;
void cal(int n,double m){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
scanf("%lf",&a[i][j]);
a[i][0]+=a[i][j];
}
for(int j=m;j>=2;j--){
a[i][j]-=a[i][j-1];
}
a[i][1]-=a[i][0]/m;
a[i][0]=0;
for(int j=0,k=0;j<=m;j++){
a[i][j]+=k;
k=a[i][j];
a[i][0]+=k*k;
}
b[i]+=a[i][0]/m;
a[i][0]=0;
}
}
void mp(int n){
for(int i=n;i>0;i--){
for(int j=0;j<i-1;j++){
if(c[j]>c[j+1]){
stor[op].befo=j+1;
stor[op].aftr=j+2;
op++;
swap(c[j],c[j+1]);
}
}
}
}
int main(){
int n;double m;
cin>>n>>m;
cal(n,m);cal(n,m);
for(int i=0;i<n;i++) c[i]=b[i+1];
mp(n);
cout<<op<<endl;
for(int i=0;i<op;i++){
cout<<stor[i].befo<<' '<<stor[i].aftr<<endl;
}
return 0;
}