#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
vector<int> pl, pr;
int tree[N], n;
void update(int k, int v) {
  while (k < N) {
    tree[k] += v;
    k += k & (-k);
  }
}
int get(int k) {
  int ret = 0;
  while (k) {
    ret += tree[k];
    k -= k & (-k);
  }
  return ret;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    int x;
    scanf("%d", &x);
    if (x == 0)
      pl.push_back(i);
    else
      pr.push_back(i);
  }
  long long ans = 0;
  memset(tree, 0, sizeof(tree));
  for (int i = 0; i < pr.size(); i++) update(pr[i], 1);
  for (int i = 0; i < pl.size(); i++) {
    ans += get(pl[i]);
  }
  cout << ans << endl;
  return 0;
}
