#include <bits/stdc++.h>
time_t st = clock();
using namespace std;
template <class stl>
void DBGSTL(stl a) {
  cout << "\tDEBUG:\n\t";
  for (typeof(a.begin()) i = a.begin(); i != a.end(); i++) {
    cerr << *i << " ";
  }
  cerr << "\n";
  return;
}
long long gcd(long long a, long long b) { return (b == 0 ? a : gcd(b, a % b)); }
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
double mathround(double x) {
  int intx = (int)x;
  if (x < intx + 0.5) return intx;
  return intx + 1;
}
int main() {
  int n;
  int p[100];
  vector<int> ans;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> p[i];
  getchar();
  int cnt = 0;
  int loss = 0;
  for (int i = 0; i < n; i++) {
    if (p[i] < 0) loss++;
    if (loss == 3) {
      loss = 1;
      ans.push_back(cnt);
      cnt = 0;
    }
    cnt++;
  }
  if (cnt > 0) ans.push_back(cnt);
  cout << (int)(ans).size() << endl;
  for (int i = 0; i < (int)(ans).size(); i++) cout << ans[i] << " ";
  return 0;
}
