#include<stdio.h>
long long int re(long long int ma[][100],long long int m,long int po){
	
	long int s=0;
	for(long int i=0;i<m;i++){
		s+=ma[po][i];
	}
	
	return s;
}
long long int ko(long long int ma[][100],long long int n,long int po){
	
	long int s=0;
	for(long int i=0;i<n;i++){
		s+=ma[i][po];
	}
	
	return s;
}
long int z(long long  int a[][100],long long int n,long long int m){
	
	long long int s=0;
	for(long long int i=0;i<n;i++){
		for(long long int j=0;j<m;j++){
			s+=a[i][j];
		}
		
	}
	return s;
}
long int kp(long long int a[][100],long long int n,long long int m){
	
	long long int s=0;
	for(long long int i=0;i<n;i++){
		for(long long int j=0;j<m;j++){
			if(a[i][j]!=0)s++;
		}
		
	}
	return s;
}
void kpp(long long  int a[][100],long int n,long int m){
	
	long long int s=0;
	for(long long int i=0;i<n;i++){
		for(long long int j=0;j<m;j++){
			if(a[i][j]!=0)printf("%d %d %d\n",i+1,j+1,a[i][j]);
		}
		
	}
}
int main(){
	
	long long int n,m;
	scanf("%lld %lld",&n,&m);
	
	long long int mm[n][100];
	for(long long int i=0;i<n;i++){
		for(long long int j=0;j<m;j++){
			mm[i][j]=0;
		}
		
	}
	

	long long int a[n],b[n];
	for(long long int i=0;i<n;i++){
		scanf("%lld %lld",&a[i],&b[i]);
	}
	
	long long int c[m],d[m];
	for(long long int i=0;i<m;i++){
		scanf("%lld %lld",&c[i],&d[i]);
	}
	
	for(long long int i=0;i<n;i++){
		for(long long int j=0;j<m;j++){
			if(re(mm,m,i)<b[i] && ko(mm,n,j)<d[j]){
				if(b[i]<d[j])mm[i][j]+=b[i]-re(mm,m,i);
				else mm[i][j]+=d[j]-ko(mm,n,j);
			}
		}
		
	}
	printf("%lld\n",z(mm,n,m));
	printf("%lld\n",kp(mm,n,m));
	kpp(mm,n,m);
}