program not_k_perm_counting
  implicit none
  integer(8), parameter :: md = 924844033_8
  integer :: n, k, i, j, l, m, p
  integer(8) :: ans = 0_8, t = 1_8, g(0:4000,0:1) = 0_8
  integer(8), dimension(0:4000) :: f = 0_8, a = 0_8
  f(0) = 1_8
  g(0,0) = 1_8
  read(*,*) n, k
  do i = 1, n
    f(i) = mod(f(i-1)*int(i,8),md)
  end do
  do i = 1, k
    m = (n-i)/k
    do p = 1, 2
      do j = 1, m
        do l = n, 1, -1
          g(l,0) = mod(g(l,0)+g(l,1),md)
          g(l,1) = g(l-1,0)
        end do
        g(0,0) = mod(g(0,0)+g(0,1),md)
      end do
      do j = 0, n
        g(j,0) = mod(g(j,0)+g(j,1),md)
        g(j,1) = 0_8
      end do
    end do
  end do
  do i = 0, n
    ans = modulo(ans+t*mod(g(i,0)*f(n-i),md),md)
    t = -t
  end do
  write(*,'(i0)') ans
end program not_k_perm_counting