#include <bits/stdc++.h>
using namespace std;
long long x, n, m, a[50005], b[50005], c[50005], d[50005], x1[50005], y[50005], res[50005];
bool s5=true;

void set5(){
   int brkrompira;
   int br=0;
   for(int i=1; i<=m; i++){
      for(int j=1; j<=n; j++){
         x=min(b[j], d[i]);
         if(b[j]>0 and d[i]>0){
            br++;
            res[br]=x;
            x1[br]=j;
            y[br]=i;
            brkrompira+=x;
            b[j]-=x;
            d[i]-=x;
         }
      }
   }
   cout << brkrompira << endl << br << endl;
   for(int i=1; i<=br; i++){
      cout << x1[i] << " " << y[i] << " " << res[i] << endl;
   }
}

int main(){
   scanf("%lld", &n);
   scanf("%lld", &m);
   for(int i=1; i<=n; i++){
      scanf("%lld", &a[i]);
      scanf("%lld", &b[i]);
      if(a[i]!=0) s5=false;
   }
   for(int i=1; i<=m; i++){
      scanf("%lld", &c[i]);
      scanf("%lld", &d[i]);
      if(c[i]!=0) s5=false;
   }
   if(s5){
      set5();
      return 0;
   }
   return 0;
}