#include<bits/stdc++.h>
using namespace std;
const int N=3e4+5;
int a[5],l,b[3];
struct Cx{int x,y,z;};
signed main(){
std::ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>a[1]>>a[2]>>a[3]>>l;
vector<Cx>Ans;
for(int i=1;i<=l;++i){
for(int j=3;j>=1;--j){
if(a[j]){
int u=-1;
for(int k=0;k<3;++k)if(b[k]+j+1<=i&&(u==-1||b[k]>b[u]))u=k;
if(u!=-1){
Ans.push_back((Cx){u+1,i-j-1,i}),--a[j],b[u]=i;
break;
}
}
}
}
cout<<Ans.size()<<"\n";
for(Cx i:Ans)cout<<i.x<<" "<<i.y<<" "<<i.z<<"\n";
return 0;
}