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

using namespace std;

int main()
{
    int n, m;
    cin>>n>>m;
    int minn[n], maxn[n];
    for(int i=0;i<n;i++)
        cin>>minn[i]>>maxn[i];
    int minm[n], maxm[n];
    for(int i=0;i<n;i++)
        cin>>minm[i]>>maxm[i];

    int mk=maxn[0];
    int mks=0;
    for(int i=0;i<m;i++)
        mks+=maxm[i];

    if(mk>mks)
    {
        cout<<mks<<endl;
        mk=mks;
    }
    else
        cout<<mk<<endl;

    vector<int> sor(m);
    int ossz=0;
    int hely=0;
    for(int i=0;i<m && ossz<mk ;i++)
    {
        hely++;
        sor.at(i)=minm[i];
        ossz+=minm[i];
        while(sor.at(i)<maxm[i] && ossz<mk)
        {
            sor.at(i)++;
            ossz++;
        }

    }
    cout<<hely<<endl;
    for(int i=0;i<m;i++)
        cout<<1<<" "<<i<<" "<<sor.at(i)<<endl;




    return 0;
}