#include<bits/stdc++.h>
using namespace std;
int n, m, A[3100][3100],B[3];
int AA[8] = {-2,-2,-1,-1,1,1,2,2};
int BB[8] = {-1,1,-2,2,-2,2,-1,1};
char in[100], out[100];
int f(int a, int b){
	if(a<1) return 0;
	if(b<1) return 0;
	if(a>n) return 0;
	if(b>m) return 0;
	return 1;
}
int main(){
	int i, j, k, I, a, b,c,d,l,t;
	for(I=51;I<=60;I++){
		for(i=0;i<3100;i++)	for(j=0;j<3100;j++)A[i][j]=10000;
		//scanf("%d %d %d", &n, &m, &t);
		n = 3000;
		m = 3000;
		t = 50;
		sprintf(in,".%d.in",I);
	    freopen(in,"w",stdout);
		printf("%d %d %d\n",n,m,t);
		//scanf("%d %d",&a, &b);
		a = rand()%100+1;
		b = rand()%100+1;
		printf("%d %d ",a,b);
		A[a][b]=1;
		//scanf("%d %d",&a, &b);
		c = rand()%100+1;
		d = rand()%100+1;
		while(a==c and b == d){
			c = rand()%100+1;
			d = rand()%100+1;
		}
		printf("%d %d\n",c,d);
		A[c][d]=2;
		c = 0;
		k = t;
		while(t--){
			for(i=1;i<=n;i++){
				for(j=1;j<=m;j++){
					if(A[i][j]%10>0 and A[i][j]/10==c){
						for(l=0;l<8;l++){
							if(f(i+AA[l],j+BB[l])){
								if(A[i+AA[l]][j+BB[l]]>10) A[i+AA[l]][j+BB[l]]=min(A[i+AA[l]][j+BB[l]],A[i][j]+10);
							}
						}
					}
				}
			}
			c++;
		}
		for(i=1;i<3;i++) B[i]=0;
		for(i=1;i<=n;i++) for(j=1;j<=m;j++) B[A[i][j]%10]++;
		sprintf(out,".%d.out",I);
	    freopen(out,"w",stdout);
		printf("%d\n%d\n",(B[1]-1)/k,(B[2]-1)/k);
	}
	
}
