P5343 【XR-1】分块 矩阵快速幂

题目描述

有一个长度为 nnn 的序列,xht37 现在想分块维护它。

PinkRabbit 要求他只准将序列分成 PRPRPR 种长度的块。

NaCly_Fish 要求他只准将序列分成 NFNFNF 种长度的块。

同一个人可能会要求 xht37 多次相同的块长。

xht37 想同时满足 PinkRabbit 和 NaCly_Fish 要求,只好使用两个人都允许的长度分块。

xht37 想知道,有多少种不同的分块方案,答案对 109+710 ^ 9 + 710​9​​+7 取模。

输入格式

第一行一个正整数 nnn,表示序列的长度。

第二行一个正整数 PRPRPR,表示 PinkRabbit 要求的分块长度的种类数。

第三行 PRPRPR 个正整数,表示 PinkRabbit 要求的 PRPRPR 种分块长度。

第四行一个正整数 NFNFNF,表示 NaCly_Fish 要求的分块长度的种类数。

第五行 NFNFNF 个正整数,表示 NaCly_Fish 要求的 NFNFNF 种分块长度。

输出格式

输出一行一个整数,表示不同分块方案的种类数对 109+710 ^ 9 + 710​9​​+7 取模的值。

样例

输入 111

4
3
1 2 3
3
1 2 4

输出 111

5

样例 111 说明

PinkRabbit 和 NaCly_Fish 都允许的块长为 {1,2}\{1,2\}{1,2}。

长度为 444 的序列分块,每块长度为 {1,2}\{1,2\}{1,2} 的方案有:

  • 1 1 1 11\ 1\ 1\ 11 1 1 1
  • 1 1 21\ 1\ 21 1&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值