#include<bits/stdc++.h>
using namespace std;
int main(){
vector<int>v={100,100,100};
int n=v.size();
int p=1;
int k=3;
vector<vector<vector<int>>>dp(n,vector<vector<int>>(k+1,vector<int>(3,INT_MIN)));
for(int i=0;i<n;i++){
for(int j=0;j<3;j++){
dp[i][0][j]=0;
}
}
dp[0][1][1]=v[0];
dp[0][1][2]=v[0];
dp[1][1][1]=v[1];
dp[1][1][2]=v[2];
dp[1][2][1]=v[1]+v[2];
dp[1][2][2]=v[1]+v[2];
dp[1][1][0]=v[0];
for(int i=2;i<n;i++){
for(int j=1;j<=k;j++){
for(int c=0;c<3;c++){
dp[i][j][0]=max({dp[i-1][j][0],dp[i-1][j][1],dp[i-1][j][2]});
dp[i][j][1]=max({v[i]+dp[i-1][j-1][2],v[i]+dp[i-1][j-1][0]});
dp[i][j][2]=max({v[i]+dp[i-1][j-1][1],v[i]+dp[i-1][j-1][0]});
}
}
}
cout<<*max_element(dp[n-1][k].begin(),dp[n-1][k].end());
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKICAgIAogICAgdmVjdG9yPGludD52PXsxMDAsMTAwLDEwMH07CiAgICBpbnQgbj12LnNpemUoKTsKICAgIGludCBwPTE7CiAgICBpbnQgaz0zOwogICAgIAogICAgdmVjdG9yPHZlY3Rvcjx2ZWN0b3I8aW50Pj4+ZHAobix2ZWN0b3I8dmVjdG9yPGludD4+KGsrMSx2ZWN0b3I8aW50PigzLElOVF9NSU4pKSk7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICBmb3IoaW50IGo9MDtqPDM7aisrKXsKICAgICAgICAgICAgZHBbaV1bMF1bal09MDsKICAgICAgICB9CiAgICB9CiAgICBkcFswXVsxXVsxXT12WzBdOwogICAgZHBbMF1bMV1bMl09dlswXTsKICAgIGRwWzFdWzFdWzFdPXZbMV07CiAgICBkcFsxXVsxXVsyXT12WzJdOwogICAgZHBbMV1bMl1bMV09dlsxXSt2WzJdOwogICAgZHBbMV1bMl1bMl09dlsxXSt2WzJdOwogICAgZHBbMV1bMV1bMF09dlswXTsKICAgIAogICAgZm9yKGludCBpPTI7aTxuO2krKyl7CiAgICAgICAgZm9yKGludCBqPTE7ajw9aztqKyspewogICAgICAgICAgICBmb3IoaW50IGM9MDtjPDM7YysrKXsKICAgICAgICAgICAgICAgIGRwW2ldW2pdWzBdPW1heCh7ZHBbaS0xXVtqXVswXSxkcFtpLTFdW2pdWzFdLGRwW2ktMV1bal1bMl19KTsKICAgICAgICAgICAgICAgIGRwW2ldW2pdWzFdPW1heCh7dltpXStkcFtpLTFdW2otMV1bMl0sdltpXStkcFtpLTFdW2otMV1bMF19KTsKICAgICAgICAgICAgICAgIGRwW2ldW2pdWzJdPW1heCh7dltpXStkcFtpLTFdW2otMV1bMV0sdltpXStkcFtpLTFdW2otMV1bMF19KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PCptYXhfZWxlbWVudChkcFtuLTFdW2tdLmJlZ2luKCksZHBbbi0xXVtrXS5lbmQoKSk7CiAgICAgCiAgICByZXR1cm4gMDsKfQ==