#include<cmath>
#include<set>
#include<map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include <iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 2e5 + 10;
const int M = maxn * 30;
const ull seed = 131;
const int INF = 0x3f3f3f3f;
const int MOD = 1e6 + 3;
ll inv[maxn << 1], fac[maxn << 1];
ll ppow(ll a, ll b){
ll ret = 1;
while(b){
if(b & 1) ret = ret * a % MOD;
a = a * a % MOD;
b >>= 1;
}
return ret;
}
void init(int n){
fac[0] = inv[0] = 1;
for(int i = 1; i <= n; i++)
fac[i] = fac[i - 1] * i % MOD;
inv[n] = ppow(fac[n], MOD - 2);
for(int i = n - 1; i >= 1; i--){
inv[i] = inv[i + 1] * (i + 1LL) % MOD;
}
}
ll C(int n, int m){
if(m == 0) return 1;
return fac[n] * inv[m] % MOD * inv[n - m] % MOD;
}
ll l[maxn], t[maxn];
ll dp[1000][1000];
int main(){
ll n, a, b, c;
scanf("%lld%lld%lld%lld", &n, &a, &b, &c);
init(n + n);
ll k = c * ppow(a + b - 1, MOD - 2) % MOD;
ll ans = 0;
for(int i = 1; i <= n; i++)
scanf("%lld", &l[i]), l[i] = (l[i] + k) % MOD;
for(int i = 1; i <= n; i++)
scanf("%lld", &t[i]), t[i] = (t[i] + k) % MOD;
for(int i = 2; i <= n; i++){
ans = (ans + l[i] * C(n + n - i - 2, n - 2) % MOD * ppow(a, n - 1) % MOD * ppow(b, n - i) % MOD) % MOD;
// printf("** %lld %lld\n", n + n - i - 2, n - 2);
}
for(int i = 2; i <= n; i++){
ans = (ans + t[i] * C(n + n - i - 2, n - 2) % MOD * ppow(a, n - i) % MOD * ppow(b, n - 1) % MOD) % MOD;
}
ans = ((ans - k) % MOD + MOD) % MOD;
printf("%lld\n", ans);
return 0;
}
/*
4 3 5 2
7 1 4 3
7 4 4 8
*/
/*
3 2 3 0
1 1 1
1 1 1
*/

最新文章

  1. 遍历一个类的属性--并转换为Dictionary类型
  2. javascript error
  3. Android 虚拟机安装SD卡
  4. How to Be Good at Mathematics
  5. Redis 集合(Set)
  6. Oracle基本分组查询group by的使用
  7. setitimer()函数使用
  8. 从零開始开发Android版2048 (四) 分数、重置、结束
  9. 欧几里德算法及其扩展(推导&amp;&amp;模板)
  10. ORACLE SQL脚本能否修改字段名称?
  11. B树和B+树的插入、删除图文详解
  12. 使用API获取(默认付款条件和到期日)
  13. Web Api使用Swagger提供在线文档
  14. spark入门
  15. Webapi--Webapi 跨域链接
  16. Spring @Async使用方法总结
  17. 1.AKATSUKI
  18. BZOJ.1031.[JSOI2007]字符加密(后缀数组)
  19. 关于Unity中Mesh网格的详解
  20. LocalBroadcastManager 的使用

热门文章

  1. Ubuntu18.04完全卸载mysql5.7并安装mysql8.0的安装方法
  2. Py其他内置函数,文件修改
  3. 针对Fluent-Bit采集容器日志的补充
  4. (15)-Python3之--configparser模块
  5. Vue中:error &#39;XXXXX&#39; is not defined no-undef解决办法
  6. ACID 原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。
  7. Nginx配置代理gRPC的方法
  8. TypeScript基本类型
  9. Python基础(函数)
  10. (二)基于Netty的高性能Websocket服务器(netty-websocket-spring-boot)