친구들이 재민이의 생일을 축하하려고 생일 케이크를 만들고 있다.
케이크를 만들기 위해 높이가 $1$이고 길이가 각각 $W_1, W_2, \dots, W_N$인 빵조각을 $1$번부터 $N$번까지 순서대로 굽는다. 이 빵조각들을 하나도 버리지 않고 모두 쌓아 층층이 케이크를 만들려고 한다.
케이크는 여러 층으로 이루어질 수 있다. 한 층의 길이는 그 층에 놓인 빵조각들의 길이의 합이다. 케이크가 무너지지 않으려면, 위층의 길이가 바로 아래층의 길이보다 클 수 없다.
또한 나중에 구운 빵조각은 먼저 구운 빵조각보다 낮은 층에 놓을 수 없다. 즉 각 층에는 번호가 연속된 빵조각들이 순서대로 놓이며, 아래층에서 위층으로 갈수록 빵조각의 번호가 커진다.
이 조건을 모두 지키면서 케이크를 가장 높이 쌓으려고 한다. 최대 몇 층까지 쌓을 수 있는가?
첫째 줄에 빵조각의 개수 $N$이 주어진다. ($1 \le N \le 100,000$)
다음 $N$개의 줄에 걸쳐 각 빵조각의 길이 $W_i$가 한 줄에 하나씩 주어진다. ($1 \le W_i \le 10,000$)
쌓을 수 있는 케이크의 최대 층수를 출력한다.
예를 들어 빵조각의 길이가 순서대로 $1, 2, 3$이면 다음과 같이 쌓을 수 있다.
+----------+
| 3 |
+---+------+
| 1 | 2 |
+---+------+
아래층은 $1$번과 $2$번 빵조각(길이의 합 $3$), 위층은 $3$번 빵조각(길이 $3$)으로 이루어져 두 층을 쌓을 수 있다.