# PyPy3로 통과
n = int(input())
queens = [-1] * n


def dfs(row):
    if row == n:
        return 1

    count = 0

    for i in range(n):
        flag = False
        for j in range(row):
            # 세로 확인
            if queens[j] == i:
                flag = True

            # 대각선 확인
            a = row - j
            if queens[j] + a == i or queens[j] - a == i:
                flag = True
        if flag:
            continue

        queens[row] = i
        count += dfs(row + 1)
        queens[row] = -1

    return count


# [0, 1, 0, 0, 2, 10, 4, 40, 92, 352, 724, 2680, 14200, 73712, 365596]
print(dfs(0))
