#include <vector>
#include <bits/stdc++.h>

using namespace std;


int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n, m;
    cin >> n >> m;
    int maks, mini;
    for(int i =0;i<n;i++)
    {
        cin >> maks>>mini;
    }
    pair<int, int> niz[m];
    for(int j = 0;j<m;j++)
    {
        cin >> niz[j].first;
        cin >> niz[j].second;

    }
    int uzeto = 0;
    int brojPolja = 0;
    bool kordinate[m];
    int ostalo = maks;
    int naSvakom[m] = {0};
    if(n == 1)
    {
        for(int i = 0;i<n;i++)
        {
            if(niz[i].first>0)
            {
                uzeto+=niz[i].first;
                brojPolja++;
                naSvakom[i]=niz[i].first;

                ostalo -= niz[i].first;
                kordinate[i]=true;
            }

        }
        if(ostalo == 0)
        {
            cout <<uzeto<<'\n';
            cout << brojPolja<<'\n';
            for(int i = 0;i<m;i++)
            {
                if(kordinate[i])
                {
                    cout << i << ' '<<"1 "<<naSvakom[i];
                }
            }

        }
        else if(ostalo > 0)
        {
            for(int i = 0;i<n;i++)
            {
                if(!kordinate[i])
                {
                    if(niz[i].second >= ostalo)
                    {
                        uzeto+=ostalo;
                        brojPolja++;
                        naSvakom[i]=ostalo;
                        kordinate[i]=true;
                        break;
                    }
                    else
                    {
                        uzeto+=niz[i].second;
                        brojPolja++;
                        naSvakom[i]=niz[i].second;
                        kordinate[i]=true;
                        ostalo-=niz[i].second;
                    }

                }
                else
                {
                    if(niz[i].second >= ostalo)
                    {
                        uzeto+=ostalo;
                        naSvakom[i]+=ostalo;
                        break;
                    }
                    else
                    {
                        uzeto+=niz[i].second;
                        naSvakom[i]+=niz[i].second;
                        ostalo -= niz[i].second;
                    }
                }
            }
        }
    }
}