众所周知, 是个憨憨。

他定义 层的憨憨二叉树为满足如下条件的二叉树

现在他想知道,给定一个整数 层的憨憨二叉树总共有几种。

定义两颗二叉树是不同的,当且仅当它们的结构不同,而无所谓节点的标号

此外,仅仅通过改变一个或若干个节点左右子树的顺序(左子树与右子树交换),所构成的新二叉树和原二叉树是不同的。

比如,下面两棵二叉树是不同的:

再比如,下面两棵二叉树是相同的:

由于最后的答案很大,请将答案对 取模后输出。

输入共一行。

一个整数表示

输出共一行。

一个整数表示你的结果。对 取模。

对于样例 ,仅有这两种二叉树符合要求:

对于样例 ,有 种二叉树符合要求,这里任举两例:

对于 的数据,

对于 的数据,

对于 的数据,

对于 的数据,

对于 的数据,

对于 的数据,