← Home
write a go solution for Description:
Everybody knows that Balázs has the fanciest fence in the whole town. It's built up from N fancy sections. The sections are rectangles standing closely next to each other on the ground. The ith section has integer height h_i and integer width w_i.  We are looking for fancy rectangles on this fancy fence.  A rectangle is fancy if:

- its sides are either horizontal or vertical and have integer lengths
- the distance between the rectangle and the ground is integer
- the distance between the rectangle and the left side of the first section is integer
- it's lying completely on sections

Input Format:
The first line contains N (1<=N<=10^5) – the number of sections.  The second line contains N space-separated integers, the ith number is h_i (1<=h_i<=10^9).  The third line contains N space-separated integers, the ith number is w_i (1<=w_i<=10^9).

Output Format:
You should print a single integer, the number of fancy rectangles modulo 10^9+7. So the output range is 0,1,2,ldots,10^9+6.

Note:
Scoring:
beginarray|c|c|c|hlineSubtask&Points&Constraintshline1&0&samplehline2&12&N<=50:and:h_i<=50:and:w_i=1:forall:ihline3&13&h_i=1:or:h_i=2:forall:ihline4&15&all:h_i:areequalhline5&15&h_i<=h_i+1:forall:i<=N-1hline6&18&N<=1000hline7&27&noadditionalconstraintshlineendarray

The fence looks like this:

There are 5 fancy rectangles of shape:

There are 3 fancy rectangles of shape:

There is 1 fancy rectangle of shape:

There are 2 fancy rectangles of shape:

There is 1 fancy rectangle of shape:. Output only the code with no comments, explanation, or additional text.