#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n,m,br=0,brez=0;
    long long srez1=0,srez2=0;
    cin>>n>>m;
    vector<int> red;
    vector<int> kol;
    vector<long long> vr;
    int a[n],b[n];
    int c[m],d[m];
    for(int i=0;i<n;i++)
    {
        cin>>a[i]>>b[i];
        if(a[i]>0)
            br++;
    }
    for(int i=0;i<m;i++)
    {
        cin>>c[i]>>d[i];
        if(c[i]>0)
            br++;
    }
    if(n==1)
    {
        int rez[m];
        long long s=0,srez=0;
        for(int i=0;i<m;i++)
            s+=d[i];
        if(s>b[0])
        {
            for(int i=0;i<m;i++)
            {
                rez[i]=c[i];
                srez+=c[i];
            }
            for(int i=0;i<m;i++)
            {
                if(srez<b[0])
                {
                    rez[i]=d[i];
                    srez+=d[i]-c[i];
                    if(srez>b[0])
                        rez[i]-=srez-b[0];
                }
            }
            for(int i=0;i<m;i++)
            {
                if(rez[i]>0)
                {
                    red.push_back(1);
                    kol.push_back(i+1);
                    vr.push_back(rez[i]);
                    brez+=1;
                    srez1+=rez[i];
                }
            }
        }
        else
        {
            for(int i=0;i<m;i++)
                if(d[i]>0)
                {
                    red.push_back(1);
                    kol.push_back(i+1);
                    vr.push_back(d[i]);
                    brez+=1;
                    srez1+=d[i];
                }
        }
        cout<<srez1<<endl<<brez<<endl;
        for(int i=0;i<brez;i++)
        {
            cout<<red[i]<<" "<<kol[i]<<" "<<vr[i]<<endl;
        }
    }
    else
    {
        if(n==m)
        {
            int indik=0;
            for(int i=0;i<n;i++)
                if((a[i]<=c[i])&&(c[i]<=b[i])&&(b[i]<=d[i]))
                    indik+=1;
            if(indik==n)
            {
                for(int i=0;i<n;i++)
                    srez1+=b[i];
                cout<<srez1<<endl<<n<<endl;
                for(int i=0;i<n;i++)
                    cout<<i+1<<" "<<i+1<<" "<<b[i]<<endl;
            }
        }
        /*if(br==0)
        {
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                {
                    if(b[i]>d[j])
                    {
                        if(d[j]>0)
                        {
                            red.push_back(i+1);
                            kol.push_back(j+1);
                            vr.push_back(d[j]);
                            brez+=1;
                            srez2+=d[j];
                        }
                        b[i]-=d[j];
                        d[j]=0;
                    }
                    else
                    {
                        if(b[i]>0)
                        {
                            red.push_back(i+1);
                            kol.push_back(j+1);
                            vr.push_back(b[i]);
                            brez+=1;
                            srez2+=b[i];
                        }
                        d[j]-=b[i];
                        b[i]=0;
                    }
                }
            }
            cout<<srez2<<endl<<brez<<endl;
            for(int i=0;i<brez;i++)
            {
                cout<<red[i]<<" "<<kol[i]<<" "<<vr[i]<<endl;
            }
        }*/
    }

}