#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int dp[2054360];
int a[2][4]= {0,1,2,3,4,5,6,7};
int mov[4][2] = {1,0,0,-1,-1,0,0,1};

int encode()
{
    return a[0][0]*262144+a[0][1]*32768+a[0][2]*4096+a[0][3]*512+a[1][0]*64+a[1][1]*8+a[1][2];
}

void dfs(int x,int y,int ord)
{
    dp[encode()] = ord;
    for(int i=0; i<4; i++)
    {
        int tx = x + mov[i][0], ty = y + mov[i][1];
        if(tx >= 0 && tx < 2 && ty >= 0 && ty < 4)
        {
            swap(a[x][y],a[tx][ty]);
            if(dp[encode()] > ord+1)
                dfs(tx, ty, ord+1);
            swap(a[x][y], a[tx][ty]);
        }
    }
    return;
}

int main()
{
    for(int i=0;i<2054360;i++) dp[i] = 70;
    dfs(0,0,0);
    while(~scanf("%d%d%d%d%d%d%d%d",&a[0][0],&a[0][1],&a[0][2],&a[0][3],&a[1][0],&a[1][1],&a[1][2],&a[1][3]))
    {
        int tx,ty;
        printf("%d\n",dp[encode()]);
    }
    return 0;
}