#include<iostream>
int m,n;
int *p;
int dis=0;
int peo=0;
int data[3][2];
int da[3][2];
int dx[2]={-1,1};
int a[6][3]={{0,1,2},{0,2,1},{1,2,0},{1,0,2},{2,0,1},{2,1,0}};
int l=1;
int r=1;
int q;
int flag=1;
int min=1000000;
int main()
{
freopen("input.txt","r",stdin);
scanf("%d",&m);
for(int i=0;i<3;i++)
{ for(int j=0;j<2;j++)
{
scanf("%d",&data[i][j]); //first position second people
}
}
p=new int[m];
/*for(int i=0;i<m;i++)
{
printf("%d",p[i]);
}*/
for(int i=0;i<6;i++)
{
l=1;r=1;dis=0;
for(int k=0;k<m;k++)
p[k]=0;
for(int j=0;j<3;j++)
{
flag=1; peo=0; l=1;r=1
while((data[a[i][j]][1]--)>0)
{
if(flag)
{
q=data[a[i][j]][1]+1;
printf("%d",q);
flag=0;
}
if(p[data[a[i][j]][0]]!=1)
{
p[data[a[i][j]][0]]=1;
dis++;
peo++;
if(peo==q)
break;
}
//printf("%d",p[data[a[i][j]][0]]);
//printf("%d%d",p[data[a[i][j]][0]]+l*dx[0],p[data[a[i][j]][0]+l*dx[0]]);
if(data[a[i][j]][0]+l*dx[0]>=0&&data[a[i][j]][0]+l*dx[0]<m&&p[data[a[i][j]][0]+l*dx[0]]!=1)
{
dis=dis+l+1;
peo++;
p[data[a[i][j]][0]+l*dx[0]]=1;
if(peo==q)
break;
}
l++;
if(data[a[i][j]][0]+r*dx[1]>=0&&data[a[i][j]][0]+r*dx[1]<m&&p[data[a[i][j]][0]+r*dx[1]]!=1)
{ dis=dis+r+1;
peo++;
p[data[a[i][j]][0]+r*dx[1]]=1;
printf("!!");
printf("%d ",peo);
printf("%d ",dis);
printf("!!");
if(peo==q)
break;
}
r++;
}
}
printf("!!");
printf("%d \n",dis);
if(dis<min)
{
min=dis;
}
}
//printf("!!");
//printf("%d",min);
}