Sorting Game

AtCoder
IDnomura2020_f
Time3000ms
Memory256MB
Difficulty
Takahashi and Snuke came up with a game that uses a number sequence, as follows: * Prepare a sequence of length $M$ consisting of integers between $0$ and $2^N-1$ (inclusive): $a = a_1, a_2, \ldots, a_M$. * Snuke first does the operation below as many times as he likes: * Choose a positive integer $d$, and for each $i$ $(1 \leq i \leq M)$, in binary, set the $d$\-th least significant bit of $a_i$ to $0$. (Here the least significant bit is considered the $1$\-st least significant bit.) * After Snuke finishes doing operations, Takahashi tries to sort $a$ in ascending order by doing the operation below some number of times. Here $a$ is said to be in ascending order when $a_i \leq a_{i + 1}$ for all $i$ $(1 \leq i \leq M - 1)$. * Choose two adjacent elements of $a$: $a_i$ and $a_{i + 1}$. If, in binary, these numbers differ in exactly one bit, swap $a_i$ and $a_{i + 1}$. There are $2^{NM}$ different sequences of length $M$ consisting of integers between $0$ and $2^N-1$ that can be used in the game. How many among them have the following property: if used in the game, there is always a way for Takahashi to sort the sequence in ascending order regardless of Snuke's operations? Find the count modulo $(10^9 + 7)$. ## Constraints * All values in input are integers. * $1 \leq N \leq 5000$ * $2 \leq M \leq 5000$ ## Input Input is given from Standard Input in the following format: $N$ $M$ [samples]
Samples
Input #1
2 5
Output #1
352

Consider the case $a = 1, 3, 1, 3, 1$ for example.

*   When the least significant bit of each element of $a$ is set to $0$, $a = 0, 2, 0, 2, 0$;
*   When the second least significant bit of each element of $a$ is set to $0$, $a = 1, 1, 1, 1, 1$;
*   When the least two significant bits of each element of $a$ are set to $0$, $a = 0, 0, 0, 0, 0$.

In all of the cases above and the case when Snuke does no operation to change $a$, we can sort the sequence by repeatedly swapping adjacent elements that differ in exactly one bit. Thus, this sequence has the property: if used in the game, there is always a way for Takahashi to sort the sequence in ascending order regardless of Snuke's operations.
Input #2
2020 530
Output #2
823277409
API Response (JSON)
{
  "problem": {
    "name": "Sorting Game",
    "description": {
      "content": "Takahashi and Snuke came up with a game that uses a number sequence, as follows: *   Prepare a sequence of length $M$ consisting of integers between $0$ and $2^N-1$ (inclusive): $a = a_1, a_2, \\ldots",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 3000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "nomura2020_f"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Takahashi and Snuke came up with a game that uses a number sequence, as follows:\n\n*   Prepare a sequence of length $M$ consisting of integers between $0$ and $2^N-1$ (inclusive): $a = a_1, a_2, \\ldots...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments