```
If you want to directly access the problem you can [click here](https://codeforces.com/gym/305369/problem/C)
```

**Problem Statement**
You are given array a of n integers. You need to split the array into 2 arrays (one of which may be empty) such that sum of product of these 2 arrays is maximum.
Formally, you need to find l such that sum of a1⋅a2⋅⋯⋅al and al+1⋅al+2⋅⋯⋅an is maximum over all valid choices for l.
Note that an empty array has a product of 0.

**Output**
Print the maximum sum of product of the arrays mod 1e9+7.

**Constraints**
1≤n≤1e5 , 1≤|ai|≤1e9

```
I tried to solve this problem by pre-calculating prefix product and suffix product modulo M(1e9+7) and taking the maximum among every i (1<=i<=n). The TC of the program is O(n). But still its showing me WA for large inputs of a[i]. Can anyone suggest me where am I making a mistake ?
Thanks in Advance.
```