#include <bits/stdc++.h>
using namespace std;
char in[100], out[100];
long long int SS[1010][110];
long long int n, a, b, c, d, k;
long long int f(int s, int bb){
	long long int i, ss =0;
	if(bb > d) return 0;
	if(s>n) return 0;
	//if(SS[s][bb]>=0) return SS[s][bb];
	if(s==n){
		if(bb>=c and bb <=d) return 1;
		else return 0;
	}
	for(i=a;i<=b;i++) ss = (ss+f(s+i,bb+1))%1000000007;
	return SS[s][bb] = ss%1000000007;
}

int main(){
	int i, j;
	srand((unsigned int)time(NULL));
	for(int I=1;I<=20;I++){
		for(i=0;i<1001;i++)for(j=0;j<110;j++)SS[i][j]=-1;
		sprintf(in,".%d.in",I);
	    freopen(in,"w",stdout);
		//cin >> n >> a >> b >> c >> d;
		n = 5*I;
		a = rand()%5+1;
		b = rand()%5+1;
		c = rand()%10+1;
		d = rand()%10+1;
		n = b*c;
		cout << n <<endl<<a<<" "<<b<<endl<<c <<" "<<d;
		sprintf(out,".%d.out",I);
	    freopen(out,"w",stdout);
	   	k = f(0,0);
		cout << k;
		if(k<2 and I<16)I--;
	   	//cout << k;
	}
	
}
