#include <bits/stdc++.h>
const int MOD = 1e9 + 7;
const int ADD = 11000;
std::vector<int> map(22000, 0), tmap(22000, 0);
int ans;
int N, a[1000];
int main() {
  std::cin >> N;
  for (int i = 0; i < N; i++) std::cin >> a[i];
  for (int i = 0; i < N; i++) {
    swap(tmap, map);
    tmap[ADD]++;
    map.assign(22000, 0);
    for (int j = 0; j < tmap.size(); j++) {
      if (!tmap[j]) continue;
      map[j + a[i]] = (map[j + a[i]] + tmap[j]) % MOD;
      map[j - a[i]] = (map[j - a[i]] + tmap[j]) % MOD;
    }
    ans = (ans + map[ADD]) % MOD;
  }
  std::cout << ans << '\n';
  return 0;
}
