#XMOJ10822. 中间人

中间人

说明

时间限制:1 Sec 内存限制:256 MB 输入文件trade.in 输出文件trade.out

小明是 A 国的中介人,工作是为想卖商品的人和想买商品的人牵线搭桥。

今天计划在小明这里进行商品交易的共有 \(2N\) 人,其中一半是想卖商品的人,另一半是想买商品的人。

小明会先从前来卖商品的人那里收下商品,一直持有到有想买商品的人来,再将商品交给买家。

想卖商品的人会带着要卖的商品前来,但想买商品的人到来时,会从小明当前持有的商品中随机选择 $1$ 件购买。需要注意的是,每个想卖商品的人只卖 $1$ 次,且每个人所卖的商品都是不同的。

此外,想卖商品的人可以在任何时间到访,但想买商品的人只有在小明持有 $1$ 件及以上商品时才会到访。

为了做好工作规划,小明想知道商品交易流程所有可能的组合数量,于是委托身为编程竞赛高手的你帮忙计算。请你求出商品交易流程的组合数量对 \(1000000007\) 取余后的结果。

输入格式

一个整数 $N$。

输出格式

一个整数,表示答案。

样例

样例 1

1
1

样例说明:

假设有 11 名想卖商品的人(卖家)和 11 名想买商品的人(买家)。

由于买家只有在卖家把商品交给小明之后,才能前来购买,因此交易流程只有“卖家→买家”这 11 种可能。

样例 2

2
12

样例说明:

若用 ○ 代表想卖商品的人(卖家)、△ 代表想买商品的人(买家)、□ 代表商品,情况就会如下图所示。

○ 和 △ 内部的数字,是用于区分不同卖家和买家的标识;□ 内部的数字,则是商品的编号。时间顺序为从图片的左侧到右侧。

image.png

样例 3

1333
871035815

样例 4

28880
593741191

数据范围

对于 12% 的数据,$N \le 10$。

对于 20% 的数据,$N \le 20$。

对于 40% 的数据,$N \le 100$。

对于 100% 的数据,$1 \le N \le 10^6$。