#include #include #define int long long #define endl "\n" #define all(n) n.begin(),n.end() #define rall(n) n.rbegin(),n.rend() #define rep(i, s, n) for (int i = s; i < (int)(n); i++) #define floatset(n) fixed<using vec=vector; templateusing min_queue=priority_queue,greater>; using ll = long long; using ld = long double; using pll = pair; using Graph = vector>; struct Edge1{ll to,cost;}; using WGraph = vec>; struct BellEdge{ll from,to,cost;}; using BGraph=vec; constexpr ll INF = 1e18; constexpr ll mod = 1000000007; constexpr ll MOD = 998244353; constexpr int dx[4]={1,0,-1,0}; constexpr int dy[4]={0,1,0,-1}; template bool chmin(T&a,T b){return a>b?a=b,true:false;} template bool chmax(T&a,T b){return a void Fill(A (&array)[N], const T &val){ fill( (T*)array, (T*)(array+N), val ); } int dp[1010][2]; signed main(){ int N,M; cin>>N>>M; vecA(N); for(int i=0;i>a; A[i]+=a; } } for(int i=0;i