#include <iostream>

using namespace std;

int main()
{
    int n, m; cin >> n >> m;
    int redMin[50008], redMax[50008], kolMin[50008], kolMax[50008];

    for(int i = 0; i < n; i++)
    {
        cin >> redMin[i] >> redMax[i];
    }

    for(int i = 0; i < m; i++)
    {
        cin >> kolMin[i] >> kolMax[i];
    }

    if(n == 1)
    {
        int m1 = redMax[0];
        int m2 = 0;
        for(int i = 0; i < m; i++)
        {
            m2 += kolMax[i];
        }
        int rez = min(m1, m2);
        cout << rez << endl;
        cout << m << endl;
        int niz[m];

        for(int i = 0; i < m; i++)
        {
            niz[i] = kolMin[i];
            rez -= kolMin[i];
        }
        for(int i = 0; i < m; i++)
        {
            int delta = kolMax[i] - kolMin[i];
            if(rez >= delta)
            {
                niz[i] += delta;
                rez -= delta;
            }
            else
            {
                niz[i] += rez;
                rez = 0;
            }
            cout << 1 << " " << i + 1 << " " << niz[i] << endl;
        }
    }

    return 0;
}