require 'openssl' N = gets.to_i M = 10 ** 9 + 7 F = [1] 1.upto(N) do |i| F << F[-1] * i % M end puts (1..N).map { |i| i.to_bn.mod_exp(N - i, M) * F[N] * (F[i] * F[N - i]).to_bn.mod_exp(M - 2, M) } .reduce(:+) % M