public List<Node> buildTree(int x, int y) {
		if (x < n && y < n) {
			List<Node> list = new ArrayList<Node>();
			Node node = new Node();
			node.x = x;
			node.y = y;
			list.add(node);
			for (int j = 0; j < n; j++) {
				if (j == x || j == x - 1 || j == x + 1) {
					continue;
				}
				List<Node> buildTree = buildTree(j, y + 1);
				if (buildTree != null) {
					node.children.addAll(buildTree);
				}
			}

			return list;
		}

		return null;
	}