using System; using System.Collections.Generic; using System.Linq; class Solution { static Dictionary dict = new Dictionary() { { 1, 1 }, { 2, 1 }, { 3, 2 } }; static long F(int n) { if (dict.ContainsKey(n)) { return dict[n]; } long v = F(n - 2) + F(n - 1) * (n - 1); v %= 1000000000 + 7; dict[n] = v; return v; } static long F2(int n) { return (F(n) * n) % (1000000000 + 7); } static void Main() { var n = int.Parse(Console.ReadLine()); Console.WriteLine(F2(n)); } }