private static MacroCell fromBoolSub(boolean[][] tab,int i,int j,int l){
		if(l==4){
			boolean[][] t = new boolean[4][4];
			for(int x =0;x<4;x++){for(int y =0;y<4;y++){t[x][y]=tab[i+x][j+y];}}
			return construct(t);
		}
		else{
			return construct(fromBoolSub(tab,i,j,l/2),fromBoolSub(tab,i,j+l/2,l/2),fromBoolSub(tab,i+l/2,j,l/2),fromBoolSub(tab,i+l/2,j+l/2,l/2));
		}
	}