#fukabintree. [fuka_bintree]Bintree
[fuka_bintree]Bintree
描述
有 个节点,每个节点上写有一个数字。使用这 个节点构建一棵二叉树。关于二叉树的定义,请参考 Wikipedia 页面 或其他参考资料。
我们用树的"重量"来定义树,即树中包含的所有数字的和。当树为空集合时,重量定义为 。
当满足以下条件时,称树是_稳定_的:对于除了叶子节点之外的所有节点,左子树和右子树的重量之差的绝对值在闭区间 内。其中,左子树是以左子节点为根(如果没有左子节点,则为空集合),右子树是以右子节点为根的部分树。
给定 个节点的值以及 和 ,请输出稳定二叉树的数量。在计算二叉树的数量时,要将 个节点视为不同的节点。此外,不同的子节点顺序或节点的父子关系也被视为不同的情况。
输入
输入包含多个测试用例。输入以只包含三个 的行结束。每个测试用例的格式如下:
每个测试用例的第一行包含三个整数 。
每个测试用例的第二行包含 个整数 ,表示第 个节点上的数字。
保证每个文件至多包含 20 个测试用例。
输出
对于每个测试用例,输出满足条件的二叉树的数量。
样例输入
1 0 100
1
2 3 3
1 2
3 0 2
1 2 3
10 0 10
1 2 3 4 5 6 7 8 9 10
13 0 10
1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0
样例输出
1
0
6
164650496
213181735360