#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);
 
}