#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")