public void dfs(int col, int size, int[] queens) {
		if (col > size) {
			num++;
			return;
		}
		// here i means row number;
		for (int i = 1; i <= size; i++) {
			if (isValid(i, col, queens)) {
				queens[col] = i;
				dfs(col + 1, size, queens);
				queens[col] = 0;
			}
		}
	}