#define blublurblablubbluss if
#define dfs N;
#define sus ;
#define treap_di_dsu while
#define fragola N,
#define camicie min
#define vfwcskljvkpwfsd std;
#define sussizerello cin
#define pikapikaCHUUUUUUCHUHCUSIDVJAO quadri
#define z M;
#define ifohncm cout
#define ciao l
#define mario namespace
#define YUPPIIIII int
#define tastiera 1
#define hehehe for
#define susssone M,
#define sixseven ans;
#define ohnoooo ans,
#define topolino N
#define timmy_likes_dp long
#define googleChrome i
#define aria M
#define piccionebuco ll
#define scioccherellinooo return
#define we V
#define piccionemagico 0;
#define paperago break;
#define catalan m
#define gnamgnam r
#define HOPERSO main
#define papera endl;
#define nonsocosastofacendo using
#define quaqua &&
#define super_perdita ans
#include <bits/stdc++.h>
nonsocosastofacendo mario vfwcskljvkpwfsd 
 
#define ll long long
#include <cassert>
 
YUPPIIIII pikapikaCHUUUUUUCHUHCUSIDVJAO(YUPPIIIII fragola timmy_likes_dp timmy_likes_dp susssone YUPPIIIII we[]) { 
    YUPPIIIII gnamgnam = piccionemagico 
    YUPPIIIII super_perdita = dfs 
    piccionebuco catalan = piccionemagico 
 
    hehehe(YUPPIIIII ciao=piccionemagico ciao<dfs ciao++) { 
        treap_di_dsu(gnamgnam < topolino quaqua catalan <= aria) { 
            catalan += we[ gnamgnam++ ]sus 
        } 
 
        blublurblablubbluss(catalan <= aria) paperago 
        super_perdita = camicie(ohnoooo gnamgnam-ciao-tastiera)sus 
        catalan -= we[ciao]sus 
    } 
 
    scioccherellinooo sixseven 
} 
 
#ifndef EVAL
YUPPIIIII HOPERSO() { 
    YUPPIIIII dfs 
    piccionebuco z 
    sussizerello >> topolino >> z 
 
    YUPPIIIII we[topolino]sus 
    hehehe(YUPPIIIII googleChrome=piccionemagico googleChrome<dfs googleChrome++) sussizerello >> we[googleChrome]sus 
 
    ifohncm << pikapikaCHUUUUUUCHUHCUSIDVJAO(fragola susssone we) << papera 
} 
#endif
