#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000 + 7, MAX_SUM = 10 * 1000 + 7,
          DELTA = 1000 * 1000 * 1000 + 7;
long long inputArray[MAXN], numberOfSubarrays[MAXN][2 * MAX_SUM], PSum;
int main() {
  int numberOfInput;
  cin >> numberOfInput;
  for (int i = 0; i < numberOfInput; ++i) {
    cin >> inputArray[i];
    PSum += inputArray[i];
  }
  numberOfSubarrays[0][MAX_SUM + inputArray[0]] =
      numberOfSubarrays[0][MAX_SUM - inputArray[0]] = 1;
  for (int i = 1; i < numberOfInput; ++i) {
    for (int j = 0; j < 2 * MAX_SUM; ++j) {
      numberOfSubarrays[i][j] += numberOfSubarrays[i - 1][j - inputArray[i]];
    }
    for (int j = 2 * MAX_SUM - 1; j >= 0; --j) {
      numberOfSubarrays[i][j] += numberOfSubarrays[i - 1][j + inputArray[i]];
      numberOfSubarrays[i][j] %= DELTA;
    }
    numberOfSubarrays[i][MAX_SUM + inputArray[i]] =
        numberOfSubarrays[i][MAX_SUM + inputArray[i]] + 1;
    numberOfSubarrays[i][MAX_SUM - inputArray[i]] =
        numberOfSubarrays[i][MAX_SUM - inputArray[i]] + 1;
  }
  long long ans = 0;
  for (int i = 0; i < numberOfInput; ++i) {
    ans += numberOfSubarrays[i][MAX_SUM];
    ans %= DELTA;
  }
  cout << ans << endl;
  return 0;
}
