import java.util.*;
public class tiexinmianji {
public static void main(String[]args){
Scanner sr=new Scanner(System.in);
System.out.println("请输入铁心的直径:");
int D=sr.nextInt();
System.out.println("请输入铁心的级数:");
int n=sr.nextInt();
System.out.println("请输入铁心的最小片宽:");
int bn=sr.nextInt();
System.out.println("允许直径超圆:");
int x=sr.nextInt();
int m=(D-bn)/5;//总共有几种可能片宽
int k=m-n+1;//
int f=0,g;
for(int e=1;e<k+1;e++){
f=f+e;
}
g=k+f*(n-1);
int[] b=new int[m];//片宽的数组
int[] a=new int[m];//叠厚的数组
int[] c=new int[g];//第1级所有的叠厚
int[] d=new int[k];//第2级到n级所有的叠厚
for(int i=0;i<m;i++){
b[i]=bn+(m-1-i)*5;//第i级的偏宽
if(((int)Math.sqrt((D+x)*(D+x)-b[i]*b[i]))%2>0){
a[i]=(int)(Math.sqrt((D+x)*(D+x)-b[i]*b[i])/2)*2+2;
}else{
a[i]=(int)Math.sqrt((D+x)*(D+x)-b[i]*b[i]);
}
//i级的叠厚
System.out.println("\t"+b[i]+"+"+a[i]);
}
//int sum=0;
for(int i=0;i<k;i++){
for(int j=0,p=0;j<k;j++,p++){
//for(int p=0;p<g;p++){
//c[i]=b[i]*a[i];
c[p]=b[j]*(a[j]-a[i])+b[i]*a[i];
//sum=c[i];
System.out.print("\t"+c[p]);
}
System.out.println();
}