Iroha and a Grid

AtCoder
IDarc058_b
Time2000ms
Memory256MB
Difficulty
We have a large square grid with $H$ rows and $W$ columns. Iroha is now standing in the top-left cell. She will repeat going right or down to the adjacent cell, until she reaches the bottom-right cell. However, she cannot enter the cells in the intersection of the bottom $A$ rows and the leftmost $B$ columns. (That is, there are $A×B$ forbidden cells.) There is no restriction on entering the other cells. Find the number of ways she can travel to the bottom-right cell. Since this number can be extremely large, print the number modulo $10^9+7$. ## Constraints * $1 ≦ H, W ≦ 100,000$ * $1 ≦ A < H$ * $1 ≦ B < W$ ## Input The input is given from Standard Input in the following format: $H$ $W$ $A$ $B$ [samples]
Samples
Input #1
2 3 1 1
Output #1
2

We have a $2×3$ grid, but entering the bottom-left cell is forbidden. The number of ways to travel is two: "Right, Right, Down" and "Right, Down, Right".
Input #2
10 7 3 4
Output #2
3570

There are $12$ forbidden cells.
Input #3
100000 100000 99999 99999
Output #3
1
Input #4
100000 100000 44444 55555
Output #4
738162020
API Response (JSON)
{
  "problem": {
    "name": "Iroha and a Grid",
    "description": {
      "content": "We have a large square grid with $H$ rows and $W$ columns. Iroha is now standing in the top-left cell. She will repeat going right or down to the adjacent cell, until she reaches the bottom-right cell",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "arc058_b"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "We have a large square grid with $H$ rows and $W$ columns. Iroha is now standing in the top-left cell. She will repeat going right or down to the adjacent cell, until she reaches the bottom-right cell...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments