#include <bits/stdc++.h>
using namespace std;
typedef long long int ll ;
ll dp[100000+5][5][5];
ll mxi(ll x,ll y,ll z){
return max(x,max(y,z));
}
ll mx(ll x,ll y,ll z,ll g){
return max(max(x,g),max(y,z));
}
int main() {
ll n=50;
vector<ll>b={17, -3, 25, -11, 8, -19, 13, -7, 22, -5, 9, -14, 6, -18, 20, -2, 11, -9, 4, -16,
15, -6, 23, -12, 7, -20, 18, -1, 10, -13, 5, -17, 21, -4, 14, -8, 3, -15, 19, -10,
2, -21, 16, -22, 24, -23, 1, -24, 12, -25};
vector<ll>d={-10, 21, -5, 14, -18, 6, -12, 25, -3, 9, -7, 20, -2, 11, -16, 4, -13, 22, -8, 5,
-19, 7, -1, 18, -6, 23, -4, 15, -11, 2, -20, 8, -9, 17, -14, 3, -21, 10, -15, 24,
-22, 12, -17, 1, -23, 13, -24, 16, -25, 19};
//base-cases
dp[1][1][1] = b[1] ;
dp[1][1][2] = b[1] ;
dp[1][2][1] = d[1] ;
dp[1][2][2] = d[1] ;
//dp[index][][]
int i = 2 ;
while(i<=n){
dp[i][1][1] = b[i] + b[i-1] + max(dp[i-2][2][2],dp[i-2][2][1]);
dp[i][1][2] = b[i] + d[i-1] + mxi(dp[i-2][1][1],dp[i-2][1][2],dp[i-2][2][1]);
dp[i][2][1] = d[i] + b[i-1] + mxi(dp[i-2][2][1],dp[i-2][2][2],dp[i-2][1][2]);
dp[i][2][2] = d[i] + d[i-1] + max(dp[i-2][1][2],dp[i-2][1][1]);
i++;
}
cout<<mx(dp[n][1][1],dp[n][1][2],dp[n][2][2],dp[n][2][1]);
return 0 ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGwgOyAKbGwgZHBbMTAwMDAwKzVdWzVdWzVdOwoKbGwgbXhpKGxsIHgsbGwgeSxsbCB6KXsKICAgIAogICAgCiAgICByZXR1cm4gbWF4KHgsbWF4KHkseikpOwogICAgCn0KCmxsIG14KGxsIHgsbGwgeSxsbCB6LGxsIGcpewogICAgCiAgICByZXR1cm4gbWF4KG1heCh4LGcpLG1heCh5LHopKTsKfQoKaW50IG1haW4oKSB7CiAgICAKICAgIGxsIG49NTA7CiAgICB2ZWN0b3I8bGw+Yj17MTcsIC0zLCAyNSwgLTExLCA4LCAtMTksIDEzLCAtNywgMjIsIC01LCA5LCAtMTQsIDYsIC0xOCwgMjAsIC0yLCAxMSwgLTksIDQsIC0xNiwKICAgICAxNSwgLTYsIDIzLCAtMTIsIDcsIC0yMCwgMTgsIC0xLCAxMCwgLTEzLCA1LCAtMTcsIDIxLCAtNCwgMTQsIC04LCAzLCAtMTUsIDE5LCAtMTAsCiAgICAgMiwgLTIxLCAxNiwgLTIyLCAyNCwgLTIzLCAxLCAtMjQsIDEyLCAtMjV9OwogICAgdmVjdG9yPGxsPmQ9ey0xMCwgMjEsIC01LCAxNCwgLTE4LCA2LCAtMTIsIDI1LCAtMywgOSwgLTcsIDIwLCAtMiwgMTEsIC0xNiwgNCwgLTEzLCAyMiwgLTgsIDUsCiAgICAgLTE5LCA3LCAtMSwgMTgsIC02LCAyMywgLTQsIDE1LCAtMTEsIDIsIC0yMCwgOCwgLTksIDE3LCAtMTQsIDMsIC0yMSwgMTAsIC0xNSwgMjQsCiAgICAgLTIyLCAxMiwgLTE3LCAxLCAtMjMsIDEzLCAtMjQsIDE2LCAtMjUsIDE5fTsKICAgIAoKICAgIC8vYmFzZS1jYXNlcwogICAgZHBbMV1bMV1bMV0gPSBiWzFdIDsgCiAgICBkcFsxXVsxXVsyXSA9IGJbMV0gOyAKICAgIGRwWzFdWzJdWzFdID0gZFsxXSA7IAogICAgZHBbMV1bMl1bMl0gPSBkWzFdIDsgCiAgICAKICAgIAogICAgLy9kcFtpbmRleF1bXVtdCiAgICAKICAgIAogICBpbnQgaSA9IDIgOyAKICAgIHdoaWxlKGk8PW4pewogICAgICAgIAogICAgICAgIGRwW2ldWzFdWzFdID0gYltpXSArIGJbaS0xXSArIG1heChkcFtpLTJdWzJdWzJdLGRwW2ktMl1bMl1bMV0pOwogICAgICAgIGRwW2ldWzFdWzJdID0gYltpXSArIGRbaS0xXSArIG14aShkcFtpLTJdWzFdWzFdLGRwW2ktMl1bMV1bMl0sZHBbaS0yXVsyXVsxXSk7CiAgICAgICAgZHBbaV1bMl1bMV0gPSBkW2ldICsgYltpLTFdICsgbXhpKGRwW2ktMl1bMl1bMV0sZHBbaS0yXVsyXVsyXSxkcFtpLTJdWzFdWzJdKTsKICAgICAgICBkcFtpXVsyXVsyXSA9IGRbaV0gKyBkW2ktMV0gKyBtYXgoZHBbaS0yXVsxXVsyXSxkcFtpLTJdWzFdWzFdKTsKICAgICAgICAKICAgICAgICBpKys7CiAgICB9CiAgICAKICAgIGNvdXQ8PG14KGRwW25dWzFdWzFdLGRwW25dWzFdWzJdLGRwW25dWzJdWzJdLGRwW25dWzJdWzFdKTsgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgcmV0dXJuIDAgOyAKfQ==