‹ 上一题 下一题 ›

g6-08063. 义卖摊三问 未做

1000 ms 256 MB 测试点 ? 6级·完全背包与划分GESP-6拔高完全背包顺推

题目描述

义卖摊准备了 种面额的兑换券,第 种面额 元,每种券都有很多张。摊主想用它们表示 到 元的价格牌,只看每种券各用了几张、不看摆放顺序。请你帮摊主算三件事:第一, 每个金额各有多少种凑法;第二,如果把这些券排成一排、摆放顺序不同也算不同,凑出 元有多少种排法;第三,金额不超过 元的凑法一共有多少种。所有结果都要对 取模。

输入格式

第一行两个整数 、。

第二行 个整数 。

输出格式

共三行:

  • 第一行: 个整数,用空格分隔,第 个表示恰好凑出 面值的组合方案数;
  • 第二行:一个整数,表示恰好凑出 面值的排列方案数;
  • 第三行:一个整数,表示不超过 面值的组合方案总数。

所有结果均对 取模。

样例

输入 1

3 5
1 2 5

输出 1

1 1 2 2 3 4
9
13

从 元到 元的凑法数依次是 ,其中 元的 种是 、、、;把顺序也区分时 元有 种排法;金额不超过 元的凑法数总共 。

数据范围

,,,保证面值互不相同。

输入
输出

            
答案