@Override
	public void drawSolutionk(Graphics drawingArea, int... arg) {
		int diameter = arg[2];
		int x = arg[0];
		int y = arg[1];
		int depth = arg[3];
		int toDraw = DRAW_ALL;
		
		if(arg.length == 5){
			toDraw = arg[4];
		}
		
		if(depth == 0){return;}

		drawingArea.drawRect(x, y, diameter, diameter);
		
		if((toDraw & DRAW_UP) != 0){
			drawSolutionk(drawingArea, x, y - diameter/2, diameter/2, depth-1, DRAW_ULR);
		}
		if((toDraw & DRAW_DOWN) != 0){
			drawSolutionk(drawingArea, x + diameter/2, y + diameter, diameter/2, depth-1, DRAW_DLR);
		}
		if((toDraw & DRAW_LEFT) != 0){
			drawSolutionk(drawingArea, x - diameter/2, y + diameter/2, diameter/2, depth-1, DRAW_LUD);
		}
		if((toDraw & DRAW_RIGHT) != 0){
			drawSolutionk(drawingArea, x + diameter, y, diameter/2, depth-1, DRAW_RUD);
		}
	}