#include<bits/stdc++.h>
#define max(xx,yy) ((xx>yy)?xx:yy)
using namespace std;
int m[4][2005],n;
bool vis[4][2005];
long long ans;
const int dx[3]={1,-1,0};
const int dy[3]={0,0,1};
void dfs(int x,int y,int sum)
{
cout<<x<<' '<<y<<' '<<sum<<'\n';
if(x==3)
{
ans=max(ans,sum);
if(y!=0&&!vis[3][y-1]) vis[3][y]=true,dfs(3,y-1,sum+m[3][y-1]),vis[3][y]=false;
if(y!=n-1&&!vis[3][y+1]) vis[3][y]=true,dfs(3,y+1,sum+m[3][y+1]),vis[3][y]=false;
return;
}
else
{
for(int kkk=0;kkk<3;kkk++)
{
if(y+dy[kkk]>=0&&y+dy[kkk]<n&&x+dx[kkk]<=3&&!vis[x+dx[kkk]][y+dy[kkk]])
vis[x][y]=true,dfs(x+dx[kkk],y+dy[kkk],sum+m[x+dx[kkk]][y+dy[kkk]]),vis[x][y]=false;
}
}
}
int main()
{
ios::sync_with_stdio(0),cin.tie(),cout.tie();
cin>>n;
for(int i=1;i<=3;i++)
for(int j=0;j<n;j++)
cin>>m[i][j];
for(int i=0;i<n;i++)
{
//memset(dp,0,sizeof(dp));
dfs(1,i,m[1][i]);
}
cout<<ans<<'\n';
return 0;
}