Scanf.scanf "%d %d" (fun n k ->
    let m = 1_000_000_007 in

    let extgcd x y =
        let rec eg r0 r1 a0 a1 b0 b1 =
            if r1 = 0 then a0, b0 else
                let q1 = r0 / r1 in
                eg r1 (r0 mod r1) a1 (a0 - q1 * a1) b1 (b0 - q1 * b1)
        in
        eg x y 1 0 0 1
    in

    let inv x y = (* 1/x in mod y *)
        let c, d = extgcd x y in
        if c < 0 then c + y else c
    in
    let ( +@) a b = (a + b) mod m in
    let ( -@) a b = (((a - b) mod m) + m) mod m in
    let ( *@) a b = ((a mod m) * (b mod m)) mod m in
    let ( /@) a b = a *@ inv b m in
    let rec loop i r1 r2 a b acc =
        if i > n || i > k then acc else (
            let acc = acc +@ r1 *@ r2 in
            let r1 = r1 *@ a /@ b in
            let r2 = r2 *@ (a - 1) /@ b in
            let a = a - 1 in
            let b = b + 1 in
            loop (i + 1) r1 r2 a b acc
        )
    in
    loop 0 1 1 n 1 0 |> Printf.printf "%d\n"
)