#include <bits/stdc++.h>

using namespace std;

int main(){
        map<vector<int>, int>MVII;
        vector<int>D(8);
        for(int i = 0;i < 8; i++){
                D[i]=i;
        }

        queue<vector<int>>que;
        que.push(D);
        while(que.size()){
                vector<int> now = que.front(); que.pop();

                for(int i = 0;i < 4; i++){
                        auto E = now;
                        swap(E[i], E[i+4]);
                        if(MVII[E]==0){
                                MVII[E]=MVII[now]+1;
                                que.push(E);
                        }
                }
                for(int i = 0; i < 3; i++){
                        for(int j = 0; j < 2; j++){
                                auto E = now;
                                swap(E[j*4+i],E[j*4+i+1]);
                                if(MVII[E]==0){
                                        MVII[E]=MVII[now]+1;
                                        que.push(E);
                                }
                        }
                }
        }
        while(cin>>D[0]){
                for(int i = 1;i<8;i++){
                        cin>>D[i];
                }
                cout<<MVII[D]<<endl;
        }

}