#include <iostream>
using namespace std;
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
//同时保存最长负值数组与最长正值数组长度,分别为nl,pl;
int nl = 0, pl = 0, maxl = 1;
for (int i = 0; i < n; i++) {
long long t;
scanf("%lld", &t);
if (t > 0) {
pl++; //正数的长度 + 1
if (nl != 0) { //如果负数的长度不为0, 那么也 + 1
nl++;
}
} else if (t < 0) { //正数变负数,负数变正数
int k = nl;
nl = pl + 1; //负数的长度为正数长度 + 1
if(k != 0){ //正数的长度为原本负数的长度 + 1, 如果原本负数有长度的话
pl = k + 1;
}else{ //没有则为0
pl = 0;
}
} else { //t == 0
//清空nl和pl
nl = 0;
pl = 0;
}
maxl = max(pl, maxl);
}
printf("%d\n", maxl);
}
}
// 64 位输出请用 printf("%lld")