/* package whatever; // don't place package name! */
import java.util.; import java.lang.; import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Q1
{
static int mod = (int)(1e9) + 7;
static ArrayList
// manner using above recursive
// formula
for (int i = 3; i <= n; ++i) {
long t = ((i - 1) * (f.get(i-1) +
f.get(i-2))%mod) % mod;
f.add(t);
}
// Return result for n
return 0;
}
static int binomialCoeff(int n, int k)
{
f2.add(1l);
for(int i = 1;i<=n;i++) {
f2.add(0l);
}
for (int i = 1; i <= n; i++)
{
// Compute next row of pascal
// triangle using the previous row
for (int j = Math.min(i, k); j > 0; j--) {
f2.set(j, (f2.get(j)+f2.get(j-1))%mod);
}
System.out.println(i+" "+f2.get(i));
}
return 0;
}
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
int a = 123456, b = 654321;
countDer(b);
int n = b-a;
long ans = f.get(0);
long temp = 1l;
for(int i = 1;i<=n;i++) {
temp = (temp*(n-i+1))%mod;
temp /= i;
ans += (temp*f.get(b-i))%mod;
}
// binomialCoeff(n,n); // System.out.println(f2); System.out.println(ans%mod); } }