#include <stdio.h>
void transform(int d,int p,int q,int* a){
switch (d){
case 0:a[0]=-p;a[1]=0;break;
case 1:a[0]=-p;a[1]=p;break;
case 2:a[0]=0;a[1]=p;break;
case 3:a[0]=p;a[1]=0;break;
case 4:a[0]=p;a[1]=-p;break;
case 5:a[0]=0;a[1]=-p;break;
default:printf("Erorr!\n");break;
}
switch ((d+2)%6){
case 0:a[0]-=q;a[1]+=0;break;
case 1:a[0]-=q;a[1]+=q;break;
case 2:a[0]+=0;a[1]+=q;break;
case 3:a[0]+=q;a[1]+=0;break;
case 4:a[0]+=q;a[1]-=q;break;
case 5:a[0]+=0;a[1]-=q;break;
default:printf("Erorr!\n");break;
}
}
int min(int a,int b){
return a>b ? b : a ;
}
int absoulte(int a){
return a>=0 ? a : -a ;
}
void calculate(int* a,int* b,int* step){
int dx,dy,tmp,tmp1;
dx=absoulte(a[0]-b[0]);
dy=absoulte(a[1]-b[1]);
if (a[0]<b[0] && a[1]>b[1] || a[0]>b[0] && a[1]<b[1])
{
*step=min(dx,dy)+absoulte(dx-dy);
}else{
*step=dx+dy;
}
}
int main(){
int a1,a2,a3,b1,b2,b3,step;
int a[2];//0->x,1->y
int b[2];
while (scanf("%d %d %d %d %d %d",&a1,&a2,&a3,&b1,&b2,&b3)!=EOF){
transform(a1,a2,a3,a);
transform(b1,b2,b3,b);
//a[0]=a1;
//a[1]=a2;
//b[0]=a3;
//b[1]=b1;
calculate(a,b,&step);
printf("%d\n",step);
}
return 0;
}