#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    int m;
    long long sumn=0;
    long long summ=0;
    scanf("%d",&n);
    scanf("%d",&m);
    pair<int,int>redovi[n+1];
    pair<int,int>kolone[m+1];
    for(int i=1;i<=n;i++)
    {
        scanf("%d %d",&redovi[i].first,&redovi[i].second);
        sumn+=redovi[i].second;
    }
    for(int i=1;i<=m;i++)
    {
        scanf("%d %d",&kolone[i].first,&kolone[i].second);
        summ+=kolone[i].second;
    }
    int mn=min(m,n);
   /* int x=0;
    for(int i=1;i<=nm;i++)
    {
        if(redovi[i].second>kolone[i].second)x++;
    }
    int km;
    int rm;
    int brpolj;
    if(m>n)
    {
        km=n-x;
        rm=x;
        brpolj=n+rm;
    }
    else
    {
        km=m-x;
        rm=x;
        brpolj=m+km;
    }*/
    long long mxkr=min(sumn,summ);
    printf("%lld\n",mxkr);
    printf("%d\n",n);
    int x[n+1]={0};
    int y[n+1]={0};
    int kl[n+1]={0};
    for(int i=1;i<=mn;i++)
    {
        x[i]=i;
        y[i]=i;
        kl[i]=min(kolone[i].second,redovi[i].second);
        printf("%d %d %d\n",x[i],y[i],kl[i]);
    }
    return 0;
}