Bessie 成为了一名艺术家,正在创作壁画!她现在正在创作的作品是一个高为 N 的方阵,方阵的每行都由 M 个方格组成(1\le N,M\le 1000)。每个方格是空的,画了石头,或者画了水。Bessie 已经画上了包含石头的方格,包括整幅画作的边界。她现在想要将某些空的方格画上水,使得如果这幅画是真实的,其中应当不存在水的净移动。定义从上到下第 i 行的方格的高度为 N+1-i。Bessie 想要她的画作满足以下限制:
假设方格 a 画的是水。那么如果存在一条从 a 到方格 b 的路径,由高度不超过 a 的空的方格或是有水的方格组成,路径中每相邻两个方格都有一条公共边,那么 b 画的也是水。
求 Bessie 可以创作的不同作品的数量模 10^9+7 的余数。Bessie 可以将任意数量的空格画上水,包括不画以及全画。