#include <bits/stdc++.h>
using namespace std;
template <class T>
class Node {
 public:
  Node<T> *prev;
  Node<T> *next;
  T data;
  Node(T data);
};
template <class T>
Node<T>::Node(T data) {
  this->data = data;
}
template <class T>
class Stack {
 public:
  Node<T> *top;
  int size;
  Stack();
  bool empty();
  void push(T a);
  void pop();
  void clear();
};
template <class T>
Stack<T>::Stack() {
  top = NULL;
  size = 0;
}
template <class T>
bool Stack<T>::empty() {
  return (size == 0);
}
template <class T>
void Stack<T>::push(T data) {
  Node<T> *t = new Node<T>(data);
  t->next = top;
  top = t;
  size++;
  return;
}
template <class T>
void Stack<T>::pop() {
  top = top->next;
  size--;
  return;
}
template <class T>
void Stack<T>::clear() {
  top = NULL;
  size = 0;
}
int main() {
  Stack<int> *st = new Stack<int>();
  int n;
  cin >> n;
  int a;
  int answer = 0;
  int size = 0;
  int leftSum = 0, rightSum = 0;
  for (int i = 0; i < n; i++) {
    cin >> a;
    rightSum = rightSum + a;
    st->push(a);
    size++;
  }
  while (!st->empty()) {
    leftSum = leftSum + st->top->data;
    rightSum = rightSum - st->top->data;
    if (leftSum == rightSum && size != 1) answer++;
    st->pop();
    size--;
  }
  cout << answer;
  return 0;
}
