output_description: Print the answer modulo 924844033.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N K
attempt: def sort_list(route):  # 引数でリストを受け取る。
      route_ = route[:]
      row = []
      box = route_
      row.append(box)  # リストの0番目（元の値）を格納
      for node in range(len(route) - 1):  # リストを一回転する。
          row.append(box)  # リストのnode+1番目の初期化
          row[node + 1] = row[node][
              :
          ]  # 初期化したものを、前のリストのコピーに置き換える。
          row[node + 1].append(row[node][0])
          row[node + 1].pop(0)
  
      return row
  
  
  n, k = input().split()
  o = []
  lis = sort_list([_n + 1 for _n in range(int(n))])
  for li in lis:
      flag = False
      for i in range(int(n)):
          if li[i] - i == int(k):
              flag = True
      if flag is False:
          o.append(li)
  print(len(o) % 924844033)
  
problem_description: Statement
  
  Snuke loves permutations. He is making a permutation of length N.
  
  Since he hates the integer K, his permutation will satisfy the following:
  
    * Let the permutation be a_1, a_2, ..., a_N. For each i = 1,2,...,N, |a_i - i| \neq K.
  
  Among the N! permutations of length N, how many satisfies this condition?
  
  Since the answer may be extremely large, find the answer modulo
  924844033(prime).
samples: [{"input": "3 1", "output": "2\n    \n\n2 permutations (1, 2, 3), (3, 2, 1) satisfy the condition.\n\n* * *"}, {"input": "4 1", "output": "5\n    \n\n5 permutations (1, 2, 3, 4), (1, 4, 3, 2), (3, 2, 1, 4), (3, 4, 1, 2), (4, 2,\n3, 1) satisfy the condition.\n\n* * *"}, {"input": "4 2", "output": "9\n    \n\n* * *"}, {"input": "4 3", "output": "14\n    \n\n* * *"}, {"input": "425 48", "output": "756765083"}]