public int subCnt(int[] res, int n, int x) {
		if (x > n - 1)
			return 1; // DONE
		int cnt = 0;
		for (int i = 0; i < n; i++) {
			boolean flag = true;
			// CHECK
			for (int j = 0; j < x; j++) {
				if (i == res[j] || Math.abs(i - res[j]) == Math.abs(j - x)) {
					flag = false;
					break;
				}
			}
			if (flag) {
				res[x] = i;
				cnt += subCnt(res, n, x + 1);
			}
		}
		return cnt;
	}