def queen(result, board, n, row=0):
if row >= n:
result.append(board[::])
else:
for col in range(n):
for i in range(row):
x, y = i - row, board[i] - col
if y == 0 or x == y or x == -y:
break
else:
board[row] = col
queen(result, board, n, row + 1)
while True:
try:
n, res = int(input().strip()), []
queen(res, [0 for _ in range(n)], n)
print(len(res))
except:
break
京公网安备 11010502036488号