#include <iostream>
#include <queue>
#include <map>
#include <algorithm>
#include <string>
using namespace std;

map<string, int> puzzle;
int dx[4] = {1, -1, 4, -4};

void bfs();

int main(){
	puzzle["01234567"] = 1;
	bfs();

	while(cin){
		int in;
		string s;
		for(int i=0; i<8; i++){
			cin >> in;
			s += in + '0';
		}
		cout << puzzle[s] - 1 << endl;
	}
	return 0;
}

void bfs(){
	queue<string> que;
	que.push("01234567");

	while(!que.empty()){
		string s = que.front();
		que.pop();

		int zero;
		for(int i=0; i<8; i++)
			if(s[i] == '0') zero = i;

		for(int i=0; i<4; i++){
			int xnew = zero + dx[i];
			if(0<=xnew && xnew<=7 && !(zero==3 && i==0) && !(zero==4 && i==1)){
				string t = s;
				swap(t[zero], t[zero+dx[i]]);
				if(puzzle[t] == 0){
					puzzle[t] = puzzle[s] + 1;
					que.push(t);
				}
			}
		}
	}
}