#4583. 购物

内存限制:256 MiB 时间限制:10 Sec

题目描述

商店出售3种颜色的球,分别为红、绿、蓝。城市里有n个商店,第i个商店在第First_i天开始营业,连续营业Red_
i+Green_i+Blue_i天,每个商店每天只能出售一种颜色的球。每天最多有两个商店同时营业。如果同一天内有两个
商店同时营业,那么这两个商店必须出售相同颜色的球。求不同的出售方案数(对1,000,000,007取模)。两种方
案不同,当且仅当某一天某一个商店出售的球的颜色不同。

输入格式

第一行只包含一个整数n,表示商店的个数。
接下来一行有n个数,第i个数表示First_i。
接下来一行有n个数,第i个数表示Red_i。
接下来一行有n个数,第i个数表示Green_i。
接下来一行有n个数,第i个数表示Blue_i。
1≤n≤50
1≤First_i≤500
0≤Red_i, Green_i, Blue_i≤100
0<Red_i + Green_i + Blue_i
First_i + Red_i + Green_i + Blue_i - 1≤500
保证每天最多有两个商店同时营业。

输出格式

输出仅包含一个数,表示对1,000,000,007取模后的方案数。

样例

样例输入


			
【Input1】
1
1
1
1
1

【Input2】
2
1 2
1 1
1 1
1 1

【Input3】
4
2 2 70 159
100 20 21 52
100 20 29 45
100 22 39 30

样例输出


			
【Output1】
6

【Output2】
6

【Output3】
139586270

数据范围与提示