#include <iostream>

using namespace std;

int main()
{
    cin.tie(0);
    int n;
    int m;
    cin>>n;
    cin>>m;
    int brojacR[n];
    int brojacK[m];
    int krompir = 0;
    int polja = 0;
    int a[n];
    int b[n];
    int c[m];
    int d[m];
    int mini=0;
    int minj=0;
    for(int i=0; i<n; i++){
        cin>>a[i]>>b[i];
        brojacR[i]=0;
        mini+=b[i];
    }
    for(int i=0; i<m; i++){
        cin>>c[i]>>d[i];
        brojacK[i] =0;
        minij+=d[i];
    }
    mini = min(mini,minj);
    while(krompir!=mini){
    for(int i=0; i<n; i++){
        for(int j= 0; j<m; j++){
            if(brojacR[i]<b[i] && brojacK[j]<d[j]){
                if(matrica[i][j]==0){
                    polja++;
                }
                krompir++;
                matrica[i][j]++;
                brojacK[j]++;
                brojacR[i]++;

            }
        }

    }
    }
    cout<<krompir<<endl;
    cout<<polja<<endl;

    for(int i=0; i<n; i++){
        for(int j=0; j<n; j++){
            if(matrica[i][j]!=0){
                cout<<i+1<<" "<<j+1<<" "<<matrica[i][j]<<endl;
            }
        }
    }

    return 0;
}