DeArrangements Recurrence

How to find the number of dearrangements for value N. For smaller(N), we can use DP to find the value, but when N is large around 10^9, how do we find it efficiently? MOD = 10^9 + 7.

@xellos0 can you help me with it ?

//