#include<bits/stdc++.h>
using namespace std;
int N,M,a[50009],b[50009],c[50009],d[50009],niz[50009],K;
long long maxsum;
int main(){
	cin>>N>>M;
	for(int i=1; i<=N; i++)cin>>a[i]>>b[i];
	for(int i=1; i<=M; i++)cin>>c[i]>>d[i];
	if(N==1){
		maxsum=b[1];
		for(int i=1; i<=M; i++)maxsum-=c[i];
		for(int i=1; i<=M; i++)niz[i]=c[i];
		for(int i=1; i<=M; i++){
			if(maxsum>=d[i]-niz[i]){
				niz[i]=d[i];
				maxsum-=(d[i]-niz[i]);
			}
			else{
				niz[i]+=maxsum;
				maxsum=0;
			}
		}
		K=0;
		for(int i=1; i<=M; i++)
			if(niz[i]>0)K++;
		cout<<K<<endl;
		for(int i=1; i<=M; i++)
			if(niz[i]>0)cout<<1<<" "<<i<<" "<<niz[i]<<"\n";
	}
	return 0;
}