Roaming

AtCoder
IDabc156_e
Time2000ms
Memory256MB
Difficulty
There is a building with $n$ rooms, numbered $1$ to $n$. We can move from any room to any other room in the building. Let us call the following event a **move**: a person in some room $i$ goes to another room $j~ (i \neq j)$. Initially, there was one person in each room in the building. After that, we know that there were exactly $k$ moves happened up to now. We are interested in the number of people in each of the $n$ rooms now. How many combinations of numbers of people in the $n$ rooms are possible? Find the count modulo $(10^9 + 7)$. ## Constraints * All values in input are integers. * $3 \leq n \leq 2 \times 10^5$ * $2 \leq k \leq 10^9$ ## Input Input is given from Standard Input in the following format: $n$ $k$ [samples]
Samples
Input #1
3 2
Output #1
10

Let $c_1$, $c_2$, and $c_3$ be the number of people in Room $1$, $2$, and $3$ now, respectively. There are $10$ possible combination of $(c_1, c_2, c_3)$:

*   $(0, 0, 3)$
*   $(0, 1, 2)$
*   $(0, 2, 1)$
*   $(0, 3, 0)$
*   $(1, 0, 2)$
*   $(1, 1, 1)$
*   $(1, 2, 0)$
*   $(2, 0, 1)$
*   $(2, 1, 0)$
*   $(3, 0, 0)$

For example, $(c_1, c_2, c_3)$ will be $(0, 1, 2)$ if the person in Room $1$ goes to Room $2$ and then one of the persons in Room $2$ goes to Room $3$.
Input #2
200000 1000000000
Output #2
607923868

Print the count modulo $(10^9 + 7)$.
Input #3
15 6
Output #3
22583772
API Response (JSON)
{
  "problem": {
    "name": "Roaming",
    "description": {
      "content": "There is a building with $n$ rooms, numbered $1$ to $n$. We can move from any room to any other room in the building. Let us call the following event a **move**: a person in some room $i$ goes to anot",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc156_e"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There is a building with $n$ rooms, numbered $1$ to $n$.\nWe can move from any room to any other room in the building.\nLet us call the following event a **move**: a person in some room $i$ goes to anot...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments